问题标签 [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 Navigation v5 中的初始路由参数?
React Navigation v3 具有一个initialRouteParams属性,用于将初始值传递给this.navigation.props。有没有办法在 React Navigation v5 中设置要通过route.params访问的初始路由参数?
react-native - React-Navigation v5 - 堆栈导航器之间的透明度
嘿,我在使用多个Stack.Navigator时遇到了透明度问题。
我创建了 2 个Stack.Navigators -> 一个用于Screens,一个用于Popups。问题是,我的弹出窗口有透明背景,在这种情况下,我需要在背景中显示屏幕。它在 react.navigation v4 中工作,现在在 v5 中我找不到任何解决方案来解决这个问题。
小吃 https://snack.expo.io/@m.jachym/react-navigation-stacks-transparency
*有两个Stack.Navigator,因为用于Popups的 Stack.Navigator具有不同且复杂得多的screenOptions。此外,在有关嵌套导航器的文档中,有一条建议将一个Stack.Navigator放入另一个 Stack.Navigator 中。在这种情况下,问题是,当您设置父Stack.Navigator headerMode="screen" 和子Stack.Navigator headerMode="none" 时,子 headerMode 是从父继承的。其他属性也存在同样的问题 - 这就是我的导航结构保持原样的原因。
我知道我做错了什么,或者那是新版本的 react-navigation 的问题,我应该写信给 react-navigation 团队?*
reactjs - 从 React Navigation v4 升级到 v5 时获取默认样式
我目前正在使用 React Navigation v4 并迁移到 v5。我正在使用官方文档进行升级,但不幸的是,我遇到了一个阻止程序。
在 V4 中,我可以执行以下操作:
但在 V5 中,我似乎无法访问navigationOptions
参数,因此无法获取navigationOptions.headerStyle
.
我如何在 React Navigation V5 中做到这一点,因为它没有在其他任何地方记录?
react-native - React Navigation 5 将参数传递到嵌套导航器内的屏幕
我们正在将 React Navigation 4 中的应用程序迁移到 React Navigation 5。该项目有一个 BottomTabNavigator,它的其中一条路线有一个嵌套的 TopTabNavigator 和三个选项卡。按下时,BottomTabNavigator 中的选项卡之一导航到排序屏幕,您可以在其中选择排序参数以进行排序,然后导航到添加所选排序参数的“待定”路由,该路由应到达 TopTabNavigator 内的三个列表屏幕之一. 目前,我在这些屏幕中接收到的 route.params 为 null,我认为这是因为中间有另一个导航器(topTabNavigator)。
底部标签导航器
排序屏幕选项卡:
createTopTabsNavigator:
非常感谢您解决这个问题
react-native - React-navigation 5x 使用 Stack.Screen screenProps
我想screenProps
在 React-navigation中传递一些东西v5.x.x
。我是 react-native 的新手之一。谁能帮我?
react-navigation - 如果用户单击android后退按钮,如何不返回上一个屏幕
非常感谢您提前。在标准状态下,堆栈浏览器从一个导航到 A 到页面 B,并观看或投票 Android 的返回时,它会在 A 的情况下返回到前一页面。代码是否正在运行以及发生了什么,但我是想知道如何禁用此返回,因为它发生在切换导航器中,因为它在导航 v5 中不再可用。src\routes.js
src\services\navigation.js
环境
包.json
提前感谢您的答案。
react-native - 在 React Navigation 5 中传递参数
我正在尝试在选项卡导航器之间传递一些参数。下面是我的程序的结构。粗体字是路线
应用程序(选项卡导航器):{主(堆栈)和过滤器(屏幕)}
Main (Stack Navigator): { Home (screen) & MediaDetails (screen) }
我在屏幕上有一个与具有onPress()功能的过滤器关联的按钮。我正在传递一些参数(但为了这个问题,我们只考虑参数)。
现在在与Home关联的屏幕中,我正在读取状态内的参数,如下所示:
在App.js中,我将to的初始值设置为 '2020',如下所示:
初始值确实设置为2020。我按下按钮。假设我设置为1900。就在this.props.navigation.navigate执行之前,我console.log(this.state.to)的值,它确实更新为1900。但是,随着屏幕变为Home,该值恢复为2020(通过 console.log 观察)
有人能指出这种怪异行为的原因吗?我一直在尝试调试这个几个小时,但没有运气。React Navigation 5 也很新,所以在网上找不到类似的东西。任何帮助将不胜感激。感谢您一路阅读。
编辑:问题已解决,完整代码已删除!
reactjs - 如何在 react-navigation 5 中从当前屏幕更新以前的屏幕参数
在react-navigation
4 中,我将 afunction
作为参数传递给导航屏幕。但是在 react-navigation 5 中,这有一个不推荐的警告。那么现在如何从当前屏幕更新前一个屏幕的参数?
例子:
- 我在一个聊天组。
- 我单击组图像。
- 在新屏幕中,我更新组名。
- 现在我通过单击返回
hardware back button
。 - 现在组名应该是新的更新名称。
那么这怎么可能?
我知道我可以使用navigation.navigate()
参数返回,但在大多数情况下,用户使用单击硬件返回按钮而不是单击返回箭头。