如何用参数更改其他组件相同级别中的状态?

时间:2019-01-30 02:59:14

标签: react-native react-native-router-flux

我有ParentComponent

render(){ 
  return('<'Child1Component/> '<'Child2Component/>)
}

所以,我在Child2Component中如何使用参数更改Child1Componet中的状态。有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以从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>中的一种方法,可以采用参数并设置状态或您想要执行的任何操作。