首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以前的屏幕也会与当前屏幕一起弹出,当用户通过drawerContent中的设备或浏览器后退按钮返回时,反应导航v5。

以前的屏幕也会与当前屏幕一起弹出,当用户通过drawerContent中的设备或浏览器后退按钮返回时,反应导航v5。
EN

Stack Overflow用户
提问于 2021-01-02 17:45:51
回答 1查看 180关注 0票数 3

我在单一架构中使用react-navigation-v5react-native-web。我的堆栈层次结构如下

代码语言:javascript
复制
-- drawer
  |-- splashScreen
  |-- authStack
  |-- appStack
        |-- categoryListScreen
        |-- searchScreen
        |-- profileScreen
        |-- aboutUsScreen

我的第一个问题是在web中没有堆栈行为。我通过将一个linking对象传递给包含路由的NavigationContainer来修正它,其传家宝与上面完全相同。

代码语言:javascript
复制
const linking = {
    prefixes: [urlPrefixWeb(), urlPrefixNativeDeepLink()],
    config: {
      splash: {
        path: 'splash',
      },
      auth: {
        path: 'auth',
        screens: {
          login: 'login',
          register: 'register',
        },
      },
      app: {
        path: 'app',
        screens: {
          categoryList: 'categoryList',
          search: 'search',
          profile: 'profile',
          aboutUs: 'aboutUs',
        },
      },
    },
  };

现在,当我导航到appStack内的随机屏幕时,一切都正常工作。(示例:从categoryListScreen导航到searchScreenprofileScreen,然后按照预期逐步返回到categoryListScreen );但是当我尝试从drawerContent组件导航到appStack的屏幕,当返回原始屏幕 by browserBackPress时,也会弹出上一个屏幕e 218

categoryScreen -> searchScreen -> profileScreen (从drawerContent组件单击)。然后backPress 预期bahaviour会去searchScreen,但是searchScreen也会弹出,然后去categoryScreen

在breaf中,来自drawerContent组件的drawerContent函数不能正常工作,并且总是进行某种替换。

那么,有谁知道一个解决办法或相关的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2021-01-03 07:58:14

我不认为你的堆叠顺序是正确的。你应该把路线直接插入抽屉里。

例如:

代码语言:javascript
复制
  |-- splashScreen
  |-- authStack
  |-- appStack
    |-- drawer
        |-- categoryListScreen
        |-- searchScreen
        |-- profileScreen
        |-- aboutUsScreen
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65542213

复制
相关文章

相似问题

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