我正在为我所希望的是一个简单的问题而奋斗。我有多个StackNavigators,每个屏幕上都有不同的屏幕,除了.navigate之外,我还使用一个抽屉在主要堆栈之间移动。如下所示:
在消息详细信息屏幕上,用户可以导航到配置文件。所以消息详细信息>概要文件。这很好,因为它在整个应用程序中都这样做。同一堆栈中的导航功能非常好,无论前进还是后退。我正在使用标准的.navigate来继续前进。
this.props.navigation.navigate('MemberProfilePage')但是,如果我点击后退按钮--或者设置一个自定义的后退按钮--用户就会被带回到主屏幕。如果我点击抽屉里的收件箱,屏幕仍然会显示信息的细节。
但我真的很想说:留言细节>个人资料.配置文件goBack()到消息详细信息.
我已经尝试了默认的goBack(),我尝试过像这样发送一个回动作:
const backAction = NavigationActions.back({
key: 'ProfileScreen'
})或
const backAction = NavigationActions.back({
key: null
})谢谢你的指导。
编辑:关于在抽屉中设置backButton的最初建议似乎有效。但这并不能解决问题。
我不想被带回到当前堆栈的初始屏幕。我想回到我在另一个堆栈中导航的屏幕。
发布于 2017-08-03 11:14:24
在您的DrawerNavigatorConfig中更改此道具
backBehavior='none' //default is initialRoutebackBehavior -- back按钮应该导致切换到初始路由吗?如果是,则设置为initialRoute,否则设置为none。默认为initialRoute行为。
https://reactnavigation.org/docs/navigators/drawer#DrawerNavigatorConfig
检查它是否有效..。
https://stackoverflow.com/questions/45480755
复制相似问题