首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React导航4:重置嵌套在DrawerNavigator中的StackNavigator

React导航4:重置嵌套在DrawerNavigator中的StackNavigator
EN

Stack Overflow用户
提问于 2020-04-15 04:25:46
回答 1查看 430关注 0票数 0

我的React导航设置有一个常见问题。

我在一个DrawerNavigator中嵌套了多个SwitchNavigator,它位于一个SwitchNavigator中。是啊,一团糟。

假设我有一个包含3个堆栈的DrawerNavigator : HomeStack (主路由、配置文件路由、历史路由)、SearchStack (列表路由、详细路由)和CartStack (查看路由、PaymentMethod路由、确认路由)。

如果用户浏览主页堆栈(Home -> profile ->历史记录),然后转到SearchStack,这自然会指向CartStack,如果我尝试将用户带到HomeStack,导航器会将他带到堆栈的顶部屏幕(在本例中是历史记录)。

当用户尝试使用抽屉导航时,这是一个问题,因为导航器总是将用户带到堆栈的顶部屏幕。这可能是一种自然行为,但有没有办法在用户每次按下抽屉里的物品时覆盖它或重置堆栈?哪种方法是最好的?

我尝试使用StackActions将用户从确认路由带到主页,但得到一个错误(“没有为...定义路由”)。

--

主导航是这样的(在屏幕之间切换没有问题):

代码语言:javascript
复制
const AppContainer = createAppContainer(
  createSwitchNavigator(
    {
      AuthLoading: LoadingScreen,
      AuthStack: AuthNavigation,
      CoachApp: CoachNavigation,
      StudentApp: StudentNavigation
    },
    {
      initialRouteName: 'AuthLoading'
    }
  )
);

CoachNavigation看起来像这样:

代码语言:javascript
复制
export default CoachNavigation = createDrawerNavigator(
  {
    DrawerHome: { screen: HomeStack }, 
    DrawerSearch: { screen: SearchStack }, 
    DrawerCart: { screen: CartStack },
  }
)

任何建议都会有所帮助。提前谢谢,如果我的解释不是很好,很抱歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-28 12:51:35

我不得不用onpress =>导航(“父堆栈”)的自定义按钮来替换抽屉内容/项目。

https://reactnavigation.org/docs/drawer-navigator/#drawercontent

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61216579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档