簡體   English   中英

反應原生重置抽屜項目 - 反應導航嵌套堆棧導航

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM