【发布时间】:2020-02-11 07:45:41
【问题描述】:
我的路线结构如下
- StackNavigator
-- SplaceScreen
-- LoginScreen
-- HomeScreen (Drawer Navigator)
--- Listing Screen (Stack Navigator)(Default Screen that loads)
--- Booking Screen (Stack Navigator)
--- Profile Screen (Stack Navigator)
预期行为
现在,当我从列表屏幕导航到预订屏幕时,我想用预订屏幕替换列表屏幕(即当我在 Android 上按回时我不想看到列表屏幕)
当前行为
预订屏幕在列表屏幕上方添加(即它没有替换)
已尝试解决方案
const resetAction = StackActions.reset({
index: 0,
key:null,
actions: [NavigationActions.navigate({ routeName: 'BookingScreen' })],
});
props.navigation.dispatch(resetAction)
收到错误
没有为 Key BookingScreen 定义路由。必须是“SplashScreen,LoginScreen,HomeScreen”之一
那么如何重置内部堆栈
【问题讨论】:
标签: react-native react-navigation react-navigation-drawer