React消息传递

本文探讨了React中组件间的消息传递,包括父组件通过props向子组件传递数据,子组件通过回调向父组件传递消息,以及兄弟组件之间利用props、事件代理或Context进行通信。还介绍了Redux作为更高效的状态管理工具,遵循单向数据流、状态只读和纯函数处理数据变化的原则。
摘要由CSDN通过智能技术生成

React消息传递
在React中,数据流动是单向的(单向数据流),父组件通过props将数据传递到子组件,子组件根据父组件传递来的属性和组件内部状态来确定如何渲染。因为单向数据流的特性,父组件向子组件传递数据是很容易的,即通过props传递数据,且子组件不能修改自己的props;父组件向孙子组件或者后代组件传递数据同样可以利用props进行层层传递。但是,开发过程中我们会遇到各种各样的情况,譬如子组件向父组件传递消息、兄弟组件之间传递消息等,下面我们看一下如何进行组件之间的消息传递。

父子组件之间进行消息传递
React是单向数据流的,父组件向子组件传递消息可以通过props进行传递:

class Child extends React.Component {
   
    // 给value设置默认值
    static defaultProps={
        value: '这里是value的默认值'
    }
    // 对value进行类型检查
    static propTypes={
        value: propTypes.string
    }
    render() {
        console.log(this.props.value);  // 123
        return (
            <div>
                {
  this.props.value}
            </div>
        );
    }
}

class Parent extends React.Component {
   
    render() {
        return (
            <Child value="123" />
        );
    }
}

ReactDOM.render(<Parent />, document.getElementById('react-root'));

子组件向父组件传递消息也是通过props,因为在JavaScript中函数是一等公民,函数本身既可以像其他对象一样作为prop被传递到子组件,也可以在子组件中被直接调用。因此,我们可以向子组件传递一个callback,子组件通过调用这个callback来向父组件中传递数据。

class Child extends React.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值