如何将数据发送到react-native中的另一个组件

时间:2019-03-01 12:53:27

标签: react-native

我想将数据传递到另一个组件,但不是这样。

  return (
              <View style = {{flex:1}}>

   --->   <LoginForm  profile = {this.state.values}/> // I dont want to send like this

                <Animated.View style={{ ...this.props.style, opacity: fadeAnim }} >
                {this.props.children}

                </Animated.View>

              </View>

            );

因为我喜欢这个,所以此组件也包括LoginForm。而且我也不想发送导航。因为我不想在屏幕上打开该组件。当我在此屏幕上工作时,我只想将值发送到另一个组件

1 个答案:

答案 0 :(得分:0)

您需要传递一个函数,以将状态从LoginForm更改为此子组件。

LoginForm上,

<View>
...
  <ChildComponent changeProfile={(profile) => {
    this.setState({
      profile: profile
    })
  }}/>
</View>

然后在此ChildComponent上致电

this.props.changeProfile(this.state.values);


或者,您也可以尝试使用状态管理库,例如ReduxMobX。就个人而言,我更喜欢Redux。