问题标签 [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 回答
1960 浏览

react-native - 如何从 React Native 中的类组件调用 StackNavigator?

我试图制作一个带有详细信息页面链接的 Hello World 页面。我了解如何使用 StackNavigator 使用功能组件进行导航。但我对它如何从类组件中工作感到困惑。我正在使用 React Navigation 5.x 和 React Native 0.61 如何将其转换为基于类的组件语法(因为大多数教程都遵循这一点,而不是新的功能组件)。

当我们使用功能组件时——从 React Native 0.61 开始——方法是这样做的:

但是,当我尝试在课堂上执行此操作时 - 如何使其调用或从导航继承?

它给了我这个错误(见截图)。每当我尝试 this.something 时,我是否应该绑定“this”或其他东西,它会再次引发类似的错误。这是否与 React native 的新版本 0.61 和缺乏向后兼容性有关 - 或者它是什么?

0 投票
2 回答
9964 浏览

react-native - React Navigation v5 不会重置和删除以前的路线

我有一个已放入堆栈的登录屏幕。用户成功登录后,他被重定向到主屏幕,这是一个抽屉屏幕。抽屉屏幕的选项之一是注销,因此单击它的用户应该注销。以下是我的注销屏幕代码。我只是在 ui 中显示注销屏幕的进度条,但在useEffect挂钩中,我正在调用以下方法

但我收到一条错误消息You need to specify name or key when calling navigate with an object as the argument,我被重定向到主屏幕。当我完全重新启动我的应用程序时,它只会移动到登录屏幕。我正在为名称键传递正确的值。

我的导航堆栈如下所示

我的抽屉组件如下

0 投票
1 回答
586 浏览

react-native - 当我使用抽屉导航到另一个屏幕时,底部选项卡导航器被隐藏

我在使用 expo 的 react-native 项目中使用底部选项卡和抽屉导航器。我在我的项目中使用 react-navigation v5。我不知道为什么,但是当我使用抽屉导航到另一个屏幕时,我往往会丢失该页面上的底部标签栏。谁能帮我在每一页上保持不变?

https://snack.expo.io/rkC_VVFE8

0 投票
2 回答
972 浏览

react-native - 不变违规:使用反应导航 v5 超过了最大更新深度

我有一个已放入堆栈的登录屏幕。用户成功登录后,他被重定向到主屏幕,这是一个抽屉屏幕。抽屉屏幕的选项之一是注销,因此单击它的用户应该注销。以下是我的注销屏幕代码。我只是在 ui 的注销屏幕中显示进度条,但在useEffect挂钩中,我正在调用以下代码

我也尝试调用上述方法,useLayoutEffect但注销按钮只是挂起。

我的导航堆栈如下所示

我的抽屉组件如下

以下是我的注销组件

0 投票
4 回答
4227 浏览

react-native - 在反应导航5中添加自定义“添加”按钮以创建MaterialBottomTabNavigator

我正在制作一个项目(react native,expo,react navigation 5),我想在底部选项卡中添加一个自定义“添加”按钮,但是因为......

导航器只能包含“屏幕”组件作为其直接子级

...我需要找到一种方法来传递我的自定义组件。

看起来很容易,我的意思是有文档:

...但是在查看这些和其他人的问题时,我要么只找到了一些复杂的例子,要么发现了如何在早期版本中实现这一点的例子。

最后,我找到了一个简单的解决方案,到目前为止它就像一个魅力(非常感谢任何关于为什么这可能是一个糟糕的想法的建议)。

如果有人在类似的泡菜中,我想我会发布我的解决方案。请参阅下面的答案。

0 投票
0 回答
297 浏览

react-navigation - 使用类组件时的 React Navigation 5 深度链接

我正在寻找一个使用带有类组件的反应导航 5 的示例 - 专门用于深度链接处理。

由于类组件不能使用钩子,因此示例文档没有多大帮助。我的实现是使用 getStateFromPath(..) 后跟 ...reset(..) 这在应用程序开始关闭时效果很好,但在应用程序打开时导航永远不会在 ...reset() 处发生。

一个关于深度链接如何与类组件一起工作的例子会很棒。

0 投票
1 回答
1744 浏览

android - 安装 react-navigation 5 后,应用程序在启动时使用 react native CLI 崩溃

我已经为react-navigation. 我已按照React Navigation给出的所有说明进行操作。

安装后,当我构建应用程序时,它构建成功,但在模拟器上安装后崩溃。我也在手机上试过。但是每次都会崩溃。这是我的项目Screenshot的屏幕截图。

我还发现它只有在我安装时才会崩溃

#Installing dependencies into a bare React Native project)这部分反应导航。

这是我项目的其他一些代码。

包.json

android\app\build.gradle(仅依赖项部分)

index.js

0 投票
1 回答
1136 浏览

react-navigation - 使用 React Navigation 5 在选项卡双击时重置选项卡内的堆栈

我想知道如果 Tab 被聚焦并按下,如何重置 BottomTabNavigator 内的堆栈。

这是我到目前为止的代码:

在 TODO 中(在代码片段中)可能应该完成以下操作:

  • 从应用 NavigationContainer 获取 navigationRef
  • 检查选定的 BottomTab 是否聚焦(以确定双击)
    • e.preventDefault
    • 重置SomeStack(不确定如何在 BottomTabNavigator 中获取导航对象的堆栈)

有没有人能够做到这一点?感谢所有答案:)

0 投票
2 回答
3105 浏览

react-native - 在 DrawerNavigator v.5 中重置嵌套的 StackNavigator

在版本 4 中,我在 contentComponent 中使用 DrawerItems onItemPress 重置了 StackNavigation:

React Navigation 5 有一个全新的 API,所以我的旧重置代码不起作用。如何在 DrawerNavigator v.5 中执行此操作?

0 投票
0 回答
514 浏览

react-native - 安装 react-native-screens 应用程序崩溃后

安装react-native-screens我的应用程序后在构建时崩溃。

当我安装 react-navigation5.x. 它构建成功但无法在模拟器中加载。每次都会崩溃。但是当我卸载react-native-screens它时它工作但没有react-native-screens我无法使用react-navigation功能。

包.json

android\app\build.gradle

index.js