react 组件传值
一、父组件传给子组件
父组件通过props传递给子组件;
//父组件中
<Child data={[1,2,3]} />
//子组件中
console.log(this.props.data);
二、子组件传给父组件
父组件通过props向子组件传入一个方法,子组件在通过调用该方法,将数据以参数的形式传给父组件,父组件可以在该方法中对传入的数据进行处理;
//父组件
import Child from './Child.js';
export default class Parent extend compenent{
getData=(data)=>{
console.log(data);
}
render(){
return (
<div>
父组件
<Child getData={this.getData}/>
</div>
)
}
}
//子组件
export default class Child extend compenent{
state={
data:[1,2,3]
}
render(){
const {data}=this.state;
return (
<div>
子组件
<button onClick={()=>{this.props.getData(data)}}><button>
</div>
)
}
}
三、兄弟组件传值(待编辑。。)
1.状态提升
2.观察者模式(订阅者发布者)
观察者模式其实就是自定义一个全局事件的监听(订阅)和触发(发布)