【发布时间】:2020-09-03 08:50:28
【问题描述】:
我需要将状态从子屏幕传递到父屏幕。我很难做到这一点。我让用户按下一个按钮来navigate 到子屏幕。在子屏幕中填写信息后,我正尝试使用props.navigation.goBack() 将值传递回父屏幕@ 有人可以帮我解决这个问题吗?
我正在使用反应导航 v4
父屏幕:
const Parent = (props) => {
const [day, setDay] = useState("");
return (
<TouchableOpacity
onPress={() =>props.navigation.navigate({ routeName: 'Child' })}>
</TouchableOpacity>
);
};
子屏幕(我想将day状态传回给父屏幕)
const Child = props => {
const [day, setDay] = useState("");
return (
<View style={styles.container}>
<TextInput onChange={(text)=> setDay(text)}/>
<Button onPress={()=>props.navigation.goBack()}/>
</View>
);
};
【问题讨论】:
-
是否可以仅按名称导航到屏幕?所以就像你在你的父组件中做的那样?
-
哦,您的意思是返回导航并发送参数?但我该怎么做。我知道如何在子组件中提供参数,但在父组件中我该怎么做?
-
我的意思是如果它必须用 goBack 来完成......或者如果它可以用普通的 naviigation.navigate({ routeName: "Parent" }) 以某种方式这样。如果可能的话,你可以用它发送参数
-
请你告诉我我是怎么不知道的,因为它在给它参数时不能正常使用 naviigation.navigate({ routeName: "Parent" })
标签: react-native react-hooks react-native-android react-navigation