美文网首页
复合组件的信息传递

复合组件的信息传递

作者: 转移到CSDN名字丹丹的小跟班 | 来源:发表于2021-02-03 13:56 被阅读0次

    1. 当两个组件有共同的父组件的时候,我们可以使用传递属性和方法的方式进行组件之间的通讯

    //创建父组件
    class Panel extends React.Component {
      constructor() {
        super()
    //创建状态
        this.state = {
          num: 0
        }
      }
      render() {
        return <div>
    //使用状态,将值传递给子组件
          <Header num={this.state.num}></Header>
    //将改变状态值的方法传递给子组件
          <Body fn={this.add}></Body>
        </div>
      }
      //创建改变状态值的方法
      add = () => {
        this.setState({num: this.state.num + 1})
      }
    }
    
    //创建头部组件(子组件1)
    class Header extends React.Component {
      constructor(props) {
        super(props)
      }
      render() {
        return <div>
    //接收并显示父组件穿的值
            <h4>点击次数:{this.props.num}</h4>
          </div>
      }
    }
    //创建身体组件(子组件2)
    class Body extends React.Component {
      constructor() {
        super()
      }
      render() {
        return <div>
    //接收并绑定父组件穿的方法
          <button onClick={this.props.fn}>点我啊</button>
        </div>
      }
    }
    
    
    ReactDOM.render(
      <Panel></Panel>,
      document.getElementById('root')
    )
    

    相关文章

      网友评论

          本文标题:复合组件的信息传递

          本文链接:https://www.haomeiwen.com/subject/wbvytltx.html