react-native - 无法导航到子屏幕

标签 react-native react-navigation tabbar

我的初始路由名称是 loginScreen

登录后,第二个屏幕出现了 BottamTabNavigation。 BottomTab 包含 4 个屏幕,其中一个名为 GroupScreen 的屏幕转到 TopTabScren。我无法导航至此屏幕。

流程是 --> loginScreen --> BottomTabScreen --> TopTabScreen。

我无法导航到 TopTabScreen。报错

"undefined is not an object(evaluating'this.props.navigation.navigate' ".

TopTabScreen 导致进一步的 4 个屏幕

但是当我设置 InitailRoutName= "TobTabScreen"时,所有四个屏幕都可以使用它。

对于导航屏幕,我正在使用它。

onPress={() => this.props.navigation.navigate('screenName')}.  

enter image description here

最佳答案

从表面上看,您误解了导航的工作原理!在 React Native 应用程序的子组件系统中。

如果组件在创建时被包装为导航器对象中的屏幕,它将可以直接访问导航 Prop !

但是如果你有一个子组件在一个组件的渲染中并且它不是一个屏幕(当然)那么你必须手动将导航作为一个 Prop 传递给它!

在我看来这根本不是一个好方法!但在你的情况下,它会起作用

NOTE : IF I AM CORRECT POST YOUR CODE OF SUBCOMPONENTS! AND I WILL HELP SHOWING THE EXAMPLE

关于react-native - 无法导航到子屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60253573/

相关文章:

ios - React Native在调用3方库后失去了对iOS状态栏的控制

react-native - 在 React Native 中更改应用背景颜色

iphone - TabBar:应用程序启动后首先显示在 ViewController 中

python - PyQt4:更改 QTabBar 上的文本大小和字体

react-native - 包含 TextInput 和 Button 时 react native 模态问题

firebase-authentication - 当前环境不支持指定的持久化类型

ios - 如何在不更改 React Native 中的路由的情况下更改 NavigatorIOS 的标题

ios - React Navigation - "Cannot read property ' 状态“未定义”,即使手势处理程序已安装并链接

react-native - 如何在 StackNavigator 中将参数传递给屏幕?

iphone - 按下标签栏项目时是否可以重新加载 View ?