问题标签 [react-navigation-v6]
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 类型检查无法识别从对象访问的字符串
我是 Typescript 的新手,这是我第一次尝试将类型分配给navigation
.
我有一个文件,我navigationStrings
喜欢这样保存:
类型.jsx
当我尝试以编程方式导航时,如果我不使用类型检查,我可以使用上述字符串(如navigationStrings.GameMultiWithTimer
)。
但是通过类型检查,我必须使用实际的字符串(如:)'GameMultiWithTimer'
。
否则我会收到此错误:
同样在 Routes.tsx 中,如果我使用RootStackParamList
,则可以访问Home
,但navigationStrings.Home
会出现上述错误。
编辑:我不得不提一下,当我打开引号时,navigation.navigate('')
我会自动得到一个包含所有屏幕的元组。所以navigationStrigs
不是真的需要!
这当然是因为正如文档中提到的那样:
这(即
RootStackParamList
inconst RootStack = createStackNavigator<RootStackParamList>();
)将为 Navigator 和 Screen 组件的 props 提供类型检查和智能感知。
谢谢!
react-native - 底部选项卡导航使屏幕透明,因此它显示最后一个屏幕 React Native
- 反应原生
- 带有React Navigation v6的底部标签栏
目标:当用户打开另一个标签时,底部标签栏导航,最后一个屏幕应该显示在背景中,我的组件应该覆盖。
我应该使用共享元素转换吗?(我没有这方面的经验……)
我的情况没有“好”的解决方案:
我的想法是在我离开屏幕并将其用作背景图像时创建一个屏幕截图。然而,这很慢(50-100 毫秒延迟,可能会惹恼用户),因为它只是在离开后触发(navigation.addListener('blur', ()=>myFunc())
)我不想经常触发快照
我真的希望你能理解我的问题
react-native - 为什么 tabBarIcon 不能导航到我的 Tab.Screen 中的组件?
在构建自定义时Tab.Screen
,我尝试传递自定义tabBarIcon
。当图标呈现时,它不会导航到组件TestScreen
。在我理解的文档中,应该写成:tabBarIcon
Tab.Screen
当我省略options
:
单击时onClick
呈现组件。当我阅读有关屏幕选项的文档时,它提到screenOptions
应该在导航器或组上传递。我试着看看能不能找到类似的问答:
但我无法看到我的错误在哪里。
我当前的依赖项:
如何让我的自定义图标呈现并导航到正确的组件?
react-native - IOS 向后滑动手势不执行 navigation.goBack()
我有一个带有许多子导航器的抽屉导航器。在 Android 上,标题返回箭头和导航栏返回按钮都可以工作并返回到之前的屏幕。例如,如果我通过抽屉导航到 bScreen1,两个按钮都会让我回到应用程序的主屏幕,即 aScreen1
在 IOS 上,标题返回箭头工作正常,但是,向后滑动让我回到 AuthNavigator 内的登录屏幕,而不是 aScreen1,它对我来说是 0 感,因为它在抽屉导航器之外,并且在 RootNavigator 内的同一级别。向后滑动不会执行 navigation.goBack()。
我已经尝试通过在“beforeRemove”事件上添加一个侦听器然后调用 navigation.goBack() 来覆盖滑动行为,但是在移动到正确的屏幕之前仍然会显示错误的屏幕(前一个)
ps:我用的都是最新版的导航包
javascript - 带有嵌套导航器的 React Navigation 6.x 中不显示后退按钮
我的 React Native 应用程序有一个根 Stack Navigator,其中包含一些屏幕和嵌套导航器:
我想要实现的是选项卡导航器显示属于 4 个堆栈导航器的 4 个屏幕,并且当导航到这些堆栈导航器的不同屏幕时,隐藏选项卡栏。
因此,我将 Tab Navigator 声明如下:
使用PersonalArea
作为初始屏幕的组件PersonalAreaStackNavigator
,在根堆栈导航器内:
所以,通过这种方式,我的结构如下:
遵循 React Navigation指南,我能够在隐藏选项卡栏的屏幕之间导航,但我的问题是从选项卡导航器的屏幕之一导航到堆栈导航器屏幕时不显示后退按钮。例如,路径TabNavigator -> PersonalArea -> PersonalData
不会在 PersonalData 屏幕中显示后退按钮,但TabNavigator -> PersonalArea -> PersonalData -> Screen E
会显示(指向 PersonalData 屏幕)。
这仅在 iOS 上发生。
如何使后退按钮也出现在堆栈导航器的第一个屏幕中,以指向标签栏中也包含的第一页?
react-native - 如何在屏幕之间重新启动 react-native-reanimated 动画切换?
我是初学者。我正在使用react-native-reanimated动画库。当我切换回主屏幕时,我想重新开始我的动画。如下图所示。例如。当我导航到帐户屏幕然后返回导航到主屏幕时,动画会重新启动。
图片:截图
主屏幕
代码
查看卡
组件代码:
react-native - 如何根据 Tab Navigator 更改 Drawer Navigator 的 headerStyle
我解决了在不同文件中分离导航组件的特定问题,这样组件就不再重新呈现
首先:我正在使用 React Native。我有一个 TabNavigator 嵌套到 DrawerNavigator
我正在尝试根据特定屏幕将抽屉标题的颜色更改为 Material Top Tab Navigator。
我尝试使用具有布尔状态的 TabNavigator 的 screenListeners 来执行此操作,但是当我创建 setState 时,TabNavigator 被重新渲染并再次跳转到主屏幕。
PD:应用程序有一个来自抽屉的顶部标题和来自 tabNavigator 的底部选项卡。我需要当 X 屏幕成为焦点时它们都改变颜色。要为底部选项卡执行此操作,我使用了 route.name 但我无法从父导航器访问此属性。
react-native - 从子堆栈导航到父堆栈中的组件屏幕
我正在尝试从我的 topTab 导航导航到 Stack Navigation 上的屏幕,但找不到解决方法。我尝试使用 navigation.getParent() 但它抛出了这个错误TypeError: undefined is not an object (evaluating 'navigation.getParent().navigate')
这是我正确解释的代码:
我正在尝试从 tabNavigator 屏幕访问播放器组件。我该怎么办?