父组件向子组件通信:
- 父组件向子组件传值
- 通过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方法相互调用。