问题标签 [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.
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 和缺乏向后兼容性有关 - 或者它是什么?
react-native - React Navigation v5 不会重置和删除以前的路线
我有一个已放入堆栈的登录屏幕。用户成功登录后,他被重定向到主屏幕,这是一个抽屉屏幕。抽屉屏幕的选项之一是注销,因此单击它的用户应该注销。以下是我的注销屏幕代码。我只是在 ui 中显示注销屏幕的进度条,但在useEffect
挂钩中,我正在调用以下方法
但我收到一条错误消息You need to specify name or key when calling navigate with an object as the argument
,我被重定向到主屏幕。当我完全重新启动我的应用程序时,它只会移动到登录屏幕。我正在为名称键传递正确的值。
我的导航堆栈如下所示
我的抽屉组件如下
react-native - 当我使用抽屉导航到另一个屏幕时,底部选项卡导航器被隐藏
我在使用 expo 的 react-native 项目中使用底部选项卡和抽屉导航器。我在我的项目中使用 react-navigation v5。我不知道为什么,但是当我使用抽屉导航到另一个屏幕时,我往往会丢失该页面上的底部标签栏。谁能帮我在每一页上保持不变?
react-native - 不变违规:使用反应导航 v5 超过了最大更新深度
我有一个已放入堆栈的登录屏幕。用户成功登录后,他被重定向到主屏幕,这是一个抽屉屏幕。抽屉屏幕的选项之一是注销,因此单击它的用户应该注销。以下是我的注销屏幕代码。我只是在 ui 的注销屏幕中显示进度条,但在useEffect
挂钩中,我正在调用以下代码
我也尝试调用上述方法,useLayoutEffect
但注销按钮只是挂起。
我的导航堆栈如下所示
我的抽屉组件如下
以下是我的注销组件
react-native - 在反应导航5中添加自定义“添加”按钮以创建MaterialBottomTabNavigator
我正在制作一个项目(react native,expo,react navigation 5),我想在底部选项卡中添加一个自定义“添加”按钮,但是因为......
导航器只能包含“屏幕”组件作为其直接子级
...我需要找到一种方法来传递我的自定义组件。
看起来很容易,我的意思是有文档:
- https://reactnavigation.org/docs/material-bottom-tab-navigator
- https://reactnavigation.org/docs/bottom-tab-navigator
- https://reactnavigation.org/docs/custom-navigators/
...但是在查看这些和其他人的问题时,我要么只找到了一些复杂的例子,要么发现了如何在早期版本中实现这一点的例子。
最后,我找到了一个简单的解决方案,到目前为止它就像一个魅力(非常感谢任何关于为什么这可能是一个糟糕的想法的建议)。
如果有人在类似的泡菜中,我想我会发布我的解决方案。请参阅下面的答案。
react-navigation - 使用类组件时的 React Navigation 5 深度链接
我正在寻找一个使用带有类组件的反应导航 5 的示例 - 专门用于深度链接处理。
由于类组件不能使用钩子,因此示例文档没有多大帮助。我的实现是使用 getStateFromPath(..) 后跟 ...reset(..) 这在应用程序开始关闭时效果很好,但在应用程序打开时导航永远不会在 ...reset() 处发生。
一个关于深度链接如何与类组件一起工作的例子会很棒。
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
react-navigation - 使用 React Navigation 5 在选项卡双击时重置选项卡内的堆栈
我想知道如果 Tab 被聚焦并按下,如何重置 BottomTabNavigator 内的堆栈。
这是我到目前为止的代码:
在 TODO 中(在代码片段中)可能应该完成以下操作:
- 从应用 NavigationContainer 获取 navigationRef
- 检查选定的 BottomTab 是否聚焦(以确定双击)
- e.preventDefault
- 重置
SomeStack
(不确定如何在 BottomTabNavigator 中获取导航对象的堆栈)
有没有人能够做到这一点?感谢所有答案:)
react-native - 在 DrawerNavigator v.5 中重置嵌套的 StackNavigator
在版本 4 中,我在 contentComponent 中使用 DrawerItems onItemPress 重置了 StackNavigation:
React Navigation 5 有一个全新的 API,所以我的旧重置代码不起作用。如何在 DrawerNavigator v.5 中执行此操作?
react-native - 安装 react-native-screens 应用程序崩溃后
安装react-native-screens
我的应用程序后在构建时崩溃。
当我安装 react-navigation
5.x. 它构建成功但无法在模拟器中加载。每次都会崩溃。但是当我卸载react-native-screens
它时它工作但没有react-native-screens
我无法使用react-navigation
功能。
包.json
android\app\build.gradle
index.js