react组件传值的方式大全
组件传值的分类
1.按嵌套关系分:父子传值和兄弟传值(意思是指跨组件传值)
1.按传值方法分:props,ref,context,updater,redux
一.父子传值
1.向下传值--父组件向子组件传值
父组件通过props传递一个不是方法的数据,给子组件;
//父组件中
<Child data={[1,2,3]} />
//子组件中
console.log(this.props.data);
2.向上传值--子组件向父组件传值
父组件通过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>
)
}
}