【问题标题】:React Native: trying to Pass Stack Navigation into Bottom tab NavigationReact Native:尝试将堆栈导航传递到底部选项卡导航
【发布时间】:2022-01-15 09:51:48
【问题描述】:

我在尝试将堆栈导航器传递到底部选项卡导航器时遇到问题。我不断收到以下错误。我哪里错了?

我创建了 Stack 导航组件,然后将其导入到我的底部选项卡导航中,然后将组件传递到那里。我认为一切都是正确的,但是错误开始了

底部标签导航器


import * as React from 'react';
import { MaterialCommunityIcons } from '@expo/vector-icons';
import { createMaterialBottomTabNavigator } from '@react-navigation/material-bottom-tabs';
import { LeftNavigator } from '../stack.navigation.js/stack';


const Tab = createMaterialBottomTabNavigator();

export const BottomNavigator = () => {
 return (
     <>
 <Tab.Navigator initialRouteName="Left" activeColor="white" >
          
        <Tab.Screen name="Left Screen" component={LeftNavigator} />

       //here im trying to pass in my stack navigator component to my bottom tab navigator 
          
 </Tab.Navigator>   
     </>
 )
}


堆栈导航器


import * as React from 'react';
import { CnnScreen } from '../news.screens.js/cnn';
import  { Reuters } from '../news.screens.js/reuters';
import   { TheVerge } from '../news.screens.js/the.verge'
import { StyleSheet, Text, SafeAreaView, ScrollView, View, Image, TouchableOpacity} from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { LeftScreen } from '../left/left.screen';

import { createNativeStackNavigator } from '@react-navigation/native-stack';


const LeftStack = createNativeStackNavigator();

export const LeftNavigator = () => {
    
  <LeftStack.Navigator initialRouteName='Left'>
        <LeftStack.Screen name="Left" component={LeftScreen}/>
        <LeftStack.Screen name="CNN" component={CnnScreen}/>
        <LeftStack.Screen name="Reuters" component={Reuters}/>
        <LeftStack.Screen name="TheVerge" component={TheVerge}/>
  </LeftStack.Navigator>    

}

【问题讨论】:

    标签: javascript reactjs react-native react-native-navigation


    【解决方案1】:

    您的代码中有两个问题。
    第一个代码需要修复:
    [底部标签导航器]

     ...
        const Tab = createMaterialBottomTabNavigator();
        
        export const BottomNavigator = () => {
         return (
             <>                                 
                                                |
                                                |
                                                |
                                                *
      ---->   <Tab.Navigator initialRouteName="Left" activeColor="white" >
     replace it to: "Left Screen" as your tab screen name
                  
         <Tab.Screen name="Left Screen" component={LeftNavigator} />
        
               //here im trying to pass in my stack navigator component to my bottom tab navigator 
                  
         </Tab.Navigator>   
             </>
         )
        }
    

    秒:
    堆栈导航器

        ....
        const LeftStack = createNativeStackNavigator();
        
        export const LeftNavigator = () => {
    
         //---> Add return     
    return <LeftStack.Navigator initialRouteName='Left'>
                <LeftStack.Screen name="Left" component={LeftScreen}/>
                <LeftStack.Screen name="CNN" component={CnnScreen}/>
                <LeftStack.Screen name="Reuters" component={Reuters}/>
                <LeftStack.Screen name="TheVerge" component={TheVerge}/>
          </LeftStack.Navigator>    
    }
    

    【讨论】:

    • 感谢您的回复!我添加了返回,并修复了第一个问题,但是现在当我尝试导航到左侧时它崩溃了?
    猜你喜欢
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    相关资源
    最近更新 更多