问题标签 [react-navigation-v5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3144 浏览

react-navigation - 如何用 NavigationContainer 替换 createAppContainer?(使用兼容层模块)

我正在尝试从 v4 迁移到 v5,他们已经删除了 createAppContainer 并说要使用 NavigationContainer 代替它。

我正在使用兼容层文档中的 createCompatNavigatorFactory 内容。

之前,我会将我的主导航器传递给 createAppContainer,然后使用该组件来包装我的整个应用程序。

现在文档说简单地使用 NavigationContainer,但他们没有说明如何将其应用于使用兼容层的人。

这很令人困惑。我的代码使用看起来像这样:

在 App.js 中

现在我已经切换到以下内容:

在 App.js 中

我想知道如何将 navigationContainer 连接到由 compat navigator 工厂函数制作的东西。我想知道为什么文档中没有关于此的内容...

0 投票
1 回答
4677 浏览

react-native - 任务:react-native-screens:compileDebugJavaWithJavac FAILED

我使用反应导航v5 ..安装了所有依赖项..现在我遇到了错误..失败:构建失败并出现异常。

0 投票
4 回答
6644 浏览

react-native - React 导航抽屉 V5

我正在使用 react-navigation 版本 5。我有标签导航和抽屉导航。

我正在尝试在标题中添加一个图标来打开/关闭抽屉:

这是我用于切换抽屉的自定义右标题:

这是我的标签导航器:

抽屉导航器:

和我的堆栈导航器主题混合:

当我按下右标题图标时在此处输入图像描述

我在这里缺少什么?这些文件并没有真正的帮助

注意:我也尝试过使用 dispatch 但它不起作用:

navigation.dispatch(DrawerActions.toggleDrawer())

包.json:

0 投票
2 回答
1993 浏览

reactjs - 在反应导航 v5.x 中隐藏内部屏幕的底部导航

我正在升级 React Native,我正在做一个项目。所以,我想隐藏内部屏幕上的底部导航,比如

我曾尝试tabBarVisible: false在仪表板屏幕选项上使用,但它隐藏了仪表板屏幕上的底部导航而不是内部屏幕。请问在内部屏幕上隐藏底部导航的最佳方法是什么?

这是我的导航代码:

底部导航

主页导航

0 投票
1 回答
2700 浏览

react-native - React Navigation 5 - 带有自定义标题的 createNativeStackNavigator

我在反应本机应用程序上使用反应导航 5。我尝试将 NativeStackNavigator 与自定义标题一起使用。使用 React 导航 4 它可以工作,但使用 5 则不行。

反应导航4:

当我尝试对 reactNavigation 5 做同样的事情时,headerTitle 不起作用:

标题显示消耗而不是我的自定义组件。如果我尝试使用 headerRight 而不是 headerTitle,我会遇到同样的问题

你能帮助我吗 :)

0 投票
1 回答
651 浏览

react-navigation - 从 React-Navigation V4 - V5 迁移 CommonActions.init 和 router.getStateForAction 发生了什么?

我们的应用程序使用CommonActions.init()并将其传递给router.getStateForAction

我在这里有两个问题:

  1. init()功能不再在CommonActions.

  2. router.getStateForAction不再可以从我的AppNavigator.

如何使用 React-Navigation v5 执行这些功能?

我的 AppNavigator 是使用兼容层创建的。它如下所示:

const AppNavigator = createCompatNavigatorFactory(createStackNavigator)

我的应用程序抛出一个错误,指出 AppNavigator.router 未定义。那么如何访问 router.getSateForAction 功能呢?

0 投票
1 回答
404 浏览

android - 堆栈导航器上的键盘或 D Pad 导航专注于上一个屏幕

所以我有一个带有主屏幕页面的堆栈导航器,其中有一个映射的“菜单项”数组。它们水平对齐。我的问题是,当我导航到任何页面(在 android 上使用键盘或 dpad)并使用我的键盘在该屏幕的元素上导航时,如果我按下键,它会专注于主屏幕菜单项。但是这些项目在主屏幕中,这是另一个屏幕。我知道它集中,因为我失去了对当前屏幕焦点元素的关注,如果我按回车键,它会在主菜单中打开它所关注的屏幕。

应用程序.js:

HomeScreen.js:

示例 JSON:

所以基本上,导航到主页(当应用程序启动时)并从那里导航到电视屏幕或任何其他屏幕,我可以按下并使用主屏幕图标/菜单项,尽管该屏幕不可见。我已经尝试过这个对我不起作用的解决方案。我正在为安卓电视开发一个应用程序,这就是我必须使用键盘的原因。

0 投票
1 回答
274 浏览

expo - Reac-navigation 5 with AuthContext and 2 Stack Navigator : 循环和闪屏

这是主要的应用程序(Expo sdk36 with react-navigation 5):

SignInScreen 和 HomeScreen 是 ScreenNavigator :

它从登录开始,我登录,然后转到主页,我选择个人资料按钮,它会无限期地刷新个人资料屏幕。我可以单击注销按钮,然后它会进入登录屏幕(这里再次闪烁几下)。stateNavigation 和 state 的完整日志在这里:https ://gist.github.com/lc3t35/d32d5ef6d042fec4c1344fbe9769b06b

欢迎任何想法。

0 投票
5 回答
10140 浏览

react-native - 任何导航器都未处理带有有效负载的操作 POP

我不知道是什么导致了我的反应原生应用程序中的这个错误。我正在使用 React Navigation 库的第 5 版。

在此处输入图像描述

有时会随机崩溃应用程序。谷歌搜索并没有帮助我理解这是什么。虽然这是一件好事(或坏事),但它非常有选择性。

那么这意味着什么以及可能导致它的原因是什么?

0 投票
1 回答
501 浏览

react-native - 反应导航“替换”前 2 个屏幕,而不是只有 1 个

在反应导航中,如何替换堆栈中的最后两个屏幕?

例如,如果我当前的堆栈是screen1 -> screen2 -> screen3,当我.replace('screen4')在 screen3 上调用时,它变为screen1 -> screen2 -> screen4

但我想要一种方法让它变成screen1 -> screen4