我想将数据传递给另一个组件,但不像这样。
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
变为此子组件。
在LoginForm
上,
<View>
...
<ChildComponent changeProfile={(profile) => {
this.setState({
profile: profile
})
}}/>
</View>
然后在此ChildComponent
上,致电
this.props.changeProfile(this.state.values);
或者,您也可以尝试一个州管理库,例如Redux或MOBX。就我个人而言,我更喜欢redux。