如何使用嵌套堆栈导航器自定义“反应导航”后退按钮

时间:2019-07-04 10:19:30

标签: react-native react-navigation stack-navigator

这是我的导航器堆栈:

Root [SwitchNavigator (default: Auth)]
|
|--- Auth: AuthScreen
|
|--- Authentified [BottomTabNavigator (default: Devices)]
|
|------ Devices [StackNavigator (default: Home)]
|
|--------- Home: DevicesScreen
|
|--------- Device: DeviceDetails
|
|------ Places [StackNavigator (default: Home)]
|
|--------- Home: PlacesScreen
|
|--------- Place: PlaceDetails
|
|------ Profile [StackNavigator (default: Home)]
|
|--------- Home: ProfileScreen

上下文:视图DevicesScreen呈现项目列表。如果按其中之一,则将导航到“设备”视图(DeviceDetails组件),以查看有关该设备的更多信息。在此详细信息视图中,您将看到设备的位置。您可以按它,然后导航到“位置”视图(PlaceDetails组件)。 PlaceDetails视图具有设备列表。您可以按一下以导航到设备(DeviceDetails视图)。

问题:当我进入详细信息视图时,可以使用后退按钮(headerLeft)。但是,如果我在设备详细信息上,并导航至某个地点详细信息,则按后退按钮,然后转到默认的“地点”路线,因此转到了地点列表……这是合理的,因为堆栈导航器是不同的。但是作为用户的预期行为将是返回设备详细信息视图。 (反之亦然)。

我试图设置一个更全局的堆栈导航器,将设备,位置和配置文件路由分组,但是这会产生副作用(如果我仅使用TabBar从设备列表导航到位置列表,则标题中将有一个后退按钮...)。

问题:是否可能具有用户期望的预期行为?

谢谢。

0 个答案:

没有答案
相关问题