Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为屏幕(而不是主导航器)添加路线_Javascript_Reactjs_React Native_React Navigation - Fatal编程技术网

Javascript 为屏幕(而不是主导航器)添加路线

Javascript 为屏幕(而不是主导航器)添加路线,javascript,reactjs,react-native,react-navigation,Javascript,Reactjs,React Native,React Navigation,我正在使用React Navigation创建底部栏导航作为文档(请参见下面的代码) 从'@react navigation/material bottom tabs'导入{createMaterialBottomTabNavigator}; const Tab=createMaterialBottomTabNavigator(); 函数MyTabs(){ 返回( ); } 我想注册另一个屏幕,而不将其添加到此选项卡.Navigator,这样我就可以在其他地方使用导航.navigation(“

我正在使用React Navigation创建底部栏导航作为文档(请参见下面的代码)

从'@react navigation/material bottom tabs'导入{createMaterialBottomTabNavigator};
const Tab=createMaterialBottomTabNavigator();
函数MyTabs(){
返回(
);
}
我想注册另一个屏幕,而不将其添加到此
选项卡.Navigator
,这样我就可以在其他地方使用
导航.navigation(“myOtherScreen”)


我该怎么做呢?

假设您使用的是
react导航
5.x版:

可以使用类似于以下内容的嵌套导航器:

 function MyTabs() {
  return (
    <Tab.Navigator>
      <Tab.Screen name="Home" component={HomeScreen} />
      <Tab.Screen name="Settings" component={SettingsScreen} />
    </Tab.Navigator>
  );
  }
    
    function App() {
      return (
        <NavigationContainer>
          <Stack.Navigator>
            <Stack.Screen name="Tabs" component={MyTabs} />
            <Stack.Screen name="yourOtherScreen" component={OtherScreenComponent}/>
          </Stack.Navigator>
        </NavigationContainer>
      )}
函数MyTabs(){
返回(
);
}
函数App(){
返回(
)}
您可以在官方文件中了解更多信息:

假设您使用的是
react导航
5.x版:

可以使用类似于以下内容的嵌套导航器:

 function MyTabs() {
  return (
    <Tab.Navigator>
      <Tab.Screen name="Home" component={HomeScreen} />
      <Tab.Screen name="Settings" component={SettingsScreen} />
    </Tab.Navigator>
  );
  }
    
    function App() {
      return (
        <NavigationContainer>
          <Stack.Navigator>
            <Stack.Screen name="Tabs" component={MyTabs} />
            <Stack.Screen name="yourOtherScreen" component={OtherScreenComponent}/>
          </Stack.Navigator>
        </NavigationContainer>
      )}
函数MyTabs(){
返回(
);
}
函数App(){
返回(
)}
您可以在官方文件中了解更多信息:

这个例子对我有用,也许对你也有用

import*as React from'React';
从“react native”导入{按钮、文本、视图};
从'@react-navigation/native'导入{NavigationContainer};
从'@react navigation/stack'导入{createStackNavigator};
从“@react navigation/bottom tabs”导入{createBottomTabNavigator};
函数DetailsScreen(){
返回(
细节!
);
}
功能主屏幕({navigation}){
返回(
主屏幕
navigation.navigate('Details')}
/>
);
}
函数设置屏幕({navigation}){
返回(
设置屏幕
navigation.navigate('Details')}
/>
);
}
const HomeStack=createStackNavigator();
功能屏幕(){
返回(
);
}
const SettingsStack=createStackNavigator();
函数设置StackScreen(){
返回(
);
}
const Tab=createBottomTabNavigator();
导出默认函数App(){
返回(
);

}
这个例子对我有用,也许对你也有用

import*as React from'React';
从“react native”导入{按钮、文本、视图};
从'@react-navigation/native'导入{NavigationContainer};
从'@react navigation/stack'导入{createStackNavigator};
从“@react navigation/bottom tabs”导入{createBottomTabNavigator};
函数DetailsScreen(){
返回(
细节!
);
}
功能主屏幕({navigation}){
返回(
主屏幕
navigation.navigate('Details')}
/>
);
}
函数设置屏幕({navigation}){
返回(
设置屏幕
navigation.navigate('Details')}
/>
);
}
const HomeStack=createStackNavigator();
功能屏幕(){
返回(
);
}
const SettingsStack=createStackNavigator();
函数设置StackScreen(){
返回(
);
}
const Tab=createBottomTabNavigator();
导出默认函数App(){
返回(
);

}
就我而言,我不想再创建另一个NavigationContainer。我只想注册一些我想链接到的组件/屏幕;其中选项卡“屏幕”嵌套在父级中。我假设您在某个地方定义了自己的
,并且您所显示的选项卡导航器实际上是在某个时候导入到容器中的。如果是这样的话,你可以把新的路线放在那个容器里。根据您的问题,这就是您需要的。在我的情况下,我不想创建另一个NavigationContainer。我只想注册一些我想链接到的组件/屏幕;其中选项卡“屏幕”嵌套在父级中。我假设您在某个地方定义了自己的
,并且您所显示的选项卡导航器实际上是在某个时候导入到容器中的。如果是这样的话,你可以把新的路线放在那个容器里。根据你的问题,这就是你所需要的。它正在发挥作用。我还必须添加
headerMode=“none”
以避免不必要的标题。我很高兴这对您有用!它起作用了。我还必须添加
headerMode=“none”
以避免不必要的标题。我很高兴这对您有用!