React native 在React Native中,如何在屏幕之间导航?

React native 在React Native中,如何在屏幕之间导航?,react-native,react-navigation,React Native,React Navigation,我正在使用React导航。我需要从屏幕1导航到屏幕2。我创建了选项卡导航,其中包括一些屏幕,但不包括屏幕1。当我点击screen1中的一个按钮转到screen2时,它会显示在选项卡式屏幕中,它会向我显示错误 这是screen1(Main.js) import React,{Component}来自'React'; 进口{ 图像背景, 样式表, 文本, 看法 情态动词 }从“反应本机”; 从“本机基础”导入{容器、页眉、左侧、内容、页脚、页脚选项卡、图标、网格、行、按钮}; 从“../screen

我正在使用React导航。我需要从屏幕1导航到屏幕2。我创建了选项卡导航,其中包括一些屏幕,但不包括屏幕1。当我点击screen1中的一个按钮转到screen2时,它会显示在选项卡式屏幕中,它会向我显示错误

这是screen1(Main.js)
import React,{Component}来自'React';
进口{
图像背景,
样式表,
文本,
看法
情态动词
}从“反应本机”;
从“本机基础”导入{容器、页眉、左侧、内容、页脚、页脚选项卡、图标、网格、行、按钮};
从“../screens/Dashboard”导入TabNav;
从“../screens/Dashboard”导入{Dashboard};
导出默认类主扩展组件{
render(){
返回(
this.props.navigation.navigate('Dashboard')}>
浏览
);
}

}
Main应该是StackNavigator的一部分。导航道具在Main中不可用,因为它不是任何Navigator配置中的屏幕。

如上所述,您没有将主要组件包括到导航中,因此,您基本上可以认为它们彼此没有连接

我建议您使用PrimaryNavigator,您可以将其视为案例中的主要组件

const PrimaryNavigator=StackNavigator({
签名堆栈:{
屏幕:SignInstallNavigator
},
注册地址:{
屏幕:SignUpStackNavigator
},
抽屉式安装包:{
屏幕:MenuDrawerStack
}
},
{
headerMode:“无”

});
您似乎没有在任何地方使用
TabNav
。此外,Main不在导航树中。我认为你需要更仔细地阅读文档。@Kraylog我在screen1(Main.js)中包含了TabNav,但它没有提供任何导航道具。我也不想在TabNav中提到我的Main.js,因为它将与其他选项卡一起创建一个新选项卡。导航道具仅提供给在导航器中配置的屏幕。由于
Main
不在任何导航器中,因此它不会获得该道具。要解决这个问题,您必须重新考虑导航树的结构。我想您指的是TabNavigator,因为我使用的是Tab而不是Stack Navigator。若我在TabNavigator中使用了主屏幕,那个么如何才能隐藏它,使其不显示在导航栏中。我不想在导航栏中显示主屏幕。这就是为什么您应该使用StackNavigator。将屏幕1和屏幕2(TabNav)置于StackNavigator中,以便在它们之间来回导航。