React组件通信

react因为组件化,使得组件间通信十分的重要。本文就来简单介绍一些常见的react组件间传递的内容。
我将归纳为以下几种关系来详述:父组件与子组件之间子组件与父组件之间发布者与订阅者模式(context)兄弟组件间,redux也是一种组件管理的方法,但是redux状态管理的内容比较多,这里只做简单介绍,之后再另开一篇详述。

父组件向子组件通信

react的数据流是单向的,最常见的就是通过props由父组件向子组件传值。

示例(关键部分有注释):

我们做一个简单的选择商品,然后改变价格的事例。

React组件通信_第1张图片

父组件:
父组件就是两个按钮,用来切换商品的价格,其中引用了子组件。

class Parents extends Component {
   
   //构造函数
  constructor() {
   
    super();
    // 设置state
    this.state = {
   
      price: 0
    };
  }

clickGoods(e) {
   
    //更新state
    this.setState({
   
        price: e
    });
}


  // 渲染
  render() {
   
    let {
    price } = this.state;
    return (
      <div>
        <button onClick={
   this.clickGoods1.bind(this)}>goods1</button>
        <button onClick={
   this.clickGoods2.bind(this)}>goods2</button>
        // 父组件中        
      </

你可能感兴趣的:(reactjs)