我有一个很棒的stackNavigation。 3个屏幕:DeviceList / DeviceDetail / DevideAdd。正常路径为(1)DeviceList> DeviceDetail或(2)DeviceList> DeviceAdd> DeviceDetail。
但是,当用户使用路径(2)时,我希望DeviceDetail屏幕的后退按钮转到DeviceList。或暂时,将转到DevideAdd。
这是我的导航:
const DeviceStackNavigator = createStackNavigator({
DeviceList: {
screen: DeviceList,
},
DeviceDetail: {
screen: DeviceDetail,
},
DeviceAdd: {
screen: DeviceAdd,
},
});
如何实现?
答案 0 :(得分:0)
键属性“ goBack()
”是动态生成的字符串,每次您导航到新的“ react-navigation
”路径时都会创建该字符串。
因此,如果您想从DeviceDetail
转到DeviceList
,您要做的就是将DeviceAdd
的密钥向下传递到DeviceDetail
,然后调用{ {1}},并带有密钥。
DeviceAdd.js
goBack()
DeviceDetail.js
render() {
const { state, navigate } = this.props.navigation;
return (
<View>
<Button title="Go to DeviceDetail" onPress={ () => {
navigate('DeviceDetail', { go_back_key: state.key });
}} />
</View>
);
}