复合组件的信息传递

2021-02-03  本文已影响0人  转移到CSDN名字丹丹的小跟班

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')
)
上一篇下一篇

猜你喜欢

热点阅读