[英]React native reset Drawer Items - react navigation nested stack navigation
我的路線結構如下
- 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”之一
那么如何重置內部堆棧
您可以使用replace
將替換堆棧中的當前路由:
StackActions.replace('BookingScreen')
您將無法返回被替換的路線。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.