【发布时间】:2020-07-21 03:04:18
【问题描述】:
我想在本地自定义堆栈导航器中默认后退按钮的行为到一个屏幕。
在假设堆栈上有screen1|screen2的细节中,一旦按下按钮,我想将一些道具从screen2传递到screen1。
我花了很多时间阅读 React 导航文档,在互联网上搜索和编码,但我无法做到这一点。
来自文档
在某些情况下,您可能比通过上述选项更想自定义后退按钮,在这种情况下,您可以将 headerLeft 选项设置为将呈现的 React 元素 我知道这个问题与 headerRight 组件的 goBack() 函数有关。
我想用类似 navigation.navigate("previousScreen",{{..props}}) 的东西覆盖与 headerLeft 后退按钮相关的默认函数 goBack()。
而且(这非常重要!!)我想将此行为本地用于特定屏幕,而不是全局使用。
我尝试过类似的方法,但不起作用。
export default function App(){
return(
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="FirstScreen" component={FirstScreen}/>
<Stack.Screen name="SecondScreen" component={SecondScreen} options={{headerLeft: () => (
<HeaderBackButton
onPress={() =>navigation.navigate("FirstScreen",{//stuff//})}
title="Info"
color="#fff"
/>
),}}/>
</Stack.Navigator>
</NavigationContainer>
)}
【问题讨论】:
标签: reactjs react-native react-navigation-stack