目标是重用具有不同内容的相同屏幕 ui,并且仍然能够使用 react native navigation v2 处理后退导航(例如 reddit 应用程序如何在您单击它们时显示多个用户/提要屏幕但仍处理自定义后退导航)?
尝试使用动态屏幕 ID 并在状态变量中使用它们。这种方法我还没有走得很远。
内置的后退按钮处理后退导航,但考虑如下场景:
我正在处理一个表格,然后我打开另一个表格,处理它,保存它,然后必须返回到现有表格。自定义处理程序不允许这样做。
代码:
主屏幕:
Navigation.push(this.props.componentId, {
component: {
name: 'example.formScreen',
passProps: {
data: some props
},
options: {
topBar: {
title: {
text: 'form Screen'
}
}
}
}
});
在表单屏幕中:
<View>
<Button
title="save form"
onpress = ()=>{
Navigation.push(this.props.componentId, {
component: {
name: 'example.formScreen',
passProps: {
data: some other props
},
options: {
topBar: {
title: {
text: 'form Screen'
}
}
}
}
});
}/>
<Button
title="go back"
onPress={()=>Navigation.pop(this.props.componentID)}
/>
</View>