参考:https://www.jianshu.com/p/f908fdc654b4
父组件向子组件通信
- 父组件向子组件传值
- 通过
props传递 在父组件中name=‘我是父组件向子组件传递的参数‘ - 在子组件中通过
this.props.name获取 - 父组件向子组件传递方法
- 与传递参数方法相同,通过
props方法这样传递test={this.onParentClick1} - 在子组件中触发这个方法
this.props.test();
子组件向父组件通信
- 子组件向父组件传值
- 在子组件
state中定义一个参数this.state = {name : ‘我是子组件向父组件传递的参数‘ }; - 在父组件中给子组件绑定
ref,如<Childern ref=‘childern‘ /> - 在父组件中获取子组件的
state,如this.refs.childern.state.name - 子组件向父组件传递方法
- 同样通过
ref来获得,前两部与传参方法相同。 - 获取方法的方式也同样
this.refs.childern.onChildenCilck2();
非父子组件之间的传值
- 组件之间无关联的形式与子组件向父组件传值的方式相同
- 通过
ref给组件标记一个名字,同样通过this.refs.***.state/function方法相互调用。