如何使用参数更改同级其他组件中的状态?
How to change State in other component same level with parameter?
我有父组件
render(){
return('<'Child1Component/> '<'Child2Component/>)
}
所以,我在 Child2Component 如何使用参数更改 Child1Componet 中的状态。有可能吗?
您可以从 child1 调用 parent 的一个方法,此方法将使用 refs
调用 child2 的另一个方法
将此添加到您的父组件
onPressSuccess = params => {
this.refs.ComponentTwo.componentTwoMethod(params);
};
render() {
return (
<View>
<ComponentOne onPressSuccess={this.onPressSuccess}> ... </ComponentOne>
<ComponentTwo ref={"ComponentTwo"}> ... </ComponentTwo>
</View>
);
}
在 <ComponentOne>
中调用 this.props.onPressSuccess(params)
,其中 params
是您要随方法传递的参数。
这里 componentTwoMethod
是 <ComponentTwo>
中的一个方法,它可以接受参数并设置状态或任何你想做的事情。
我有父组件
render(){
return('<'Child1Component/> '<'Child2Component/>)
}
所以,我在 Child2Component 如何使用参数更改 Child1Componet 中的状态。有可能吗?
您可以从 child1 调用 parent 的一个方法,此方法将使用 refs
将此添加到您的父组件
onPressSuccess = params => {
this.refs.ComponentTwo.componentTwoMethod(params);
};
render() {
return (
<View>
<ComponentOne onPressSuccess={this.onPressSuccess}> ... </ComponentOne>
<ComponentTwo ref={"ComponentTwo"}> ... </ComponentTwo>
</View>
);
}
在 <ComponentOne>
中调用 this.props.onPressSuccess(params)
,其中 params
是您要随方法传递的参数。
这里 componentTwoMethod
是 <ComponentTwo>
中的一个方法,它可以接受参数并设置状态或任何你想做的事情。