组件间的通信
父组件和子组件通信,兄弟组件之间通信
父组件和子组件通信
父组件获取子组件信息
- 实时通信:
- 父组件设置一个state用于存储子组件信息,给子组件的Props传入一个回调方法,子组件状态更新时(onChange),调用回调方法设置父组件状态;
- 非实时通信:
- this.refs.XXX.method(); 需要获取时调用子组件的方法获取即可;
子组件获取父组件信息
- 实时通信
- 子组件的props传入父组件的某一个state
- 可以直接使用props,获取最新的state(state更新会重新render)
- 设置为子组件的state,当state变化时,可通过componetWillReceiveProps(nextProps)设置最新的props
- 子组件的props传入父组件的某一个state
- 非实时通信:
- 子组件的props传入父组件的一个回调方法,需要获取父组件状态时直接获取
兄弟组件直接通信
- 实时通信
- A兄弟的props传入父组件的一个回调方法,A组件在状态发生改变时,调用父组件回调函数设置父组件的state;B兄弟的props传入父组件的state,父组件state更新时,会重新render,所以B兄弟相当于拿到了A兄弟的状态
- 非实时通信:
- B兄弟通过父组件传入props的方法回调A兄弟这个refs中的方法,获取A兄弟的state