React native 反应导航5.x抽屉问题

React native 反应导航5.x抽屉问题,react-native,expo,react-navigation,React Native,Expo,React Navigation,使用抽屉时出现以下问题。堆栈和选项卡在没有抽屉的情况下工作正常。 有人知道这里发生了什么,能帮我吗? 以下是一些代码行: const Stack = createStackNavigator(); const FavStack = createStackNavigator(); const FilterStack = createStackNavigator(); const Tab = Platform.OS === "android" ? createMaterialBott

使用抽屉时出现以下问题。堆栈和选项卡在没有抽屉的情况下工作正常。 有人知道这里发生了什么,能帮我吗?

以下是一些代码行:

const Stack = createStackNavigator();
const FavStack = createStackNavigator();
const FilterStack = createStackNavigator();

const Tab =
  Platform.OS === "android"
    ? createMaterialBottomTabNavigator()
    : createBottomTabNavigator();

const defaultScreenOptions = {
  headerStyle: { backgroundColor: colors.primary },
  headerTintColor: "white",
};
function MealsNavigator() {
  return (
    <Stack.Navigator screenOptions={defaultScreenOptions}>
      <Stack.Screen name="Meals Categories" component={CategoriesScreen} />
      <Stack.Screen name="Profile" component={CategoryMealScreen} />
      <Stack.Screen name="Details" component={MealDetailsScreen} />
    </Stack.Navigator>
  );
}

function FavStackNavigator() {
  return (
    <FavStack.Navigator screenOptions={defaultScreenOptions}>
      <FavStack.Screen name="Favourites" component={FavouritesScreen} />
      <FavStack.Screen name="Details" component={MealDetailsScreen} />
    </FavStack.Navigator>
  );
}

function MealsFavTabNavigator() {
  return (
    <Tab.Navigator
      tabBarOptions={{ activeTintColor: colors.accent }}
      shifting={true}
    >
      <Tab.Screen
        name="All"
        component={MealsNavigator}
        options={{
          tabBarLabel: "Meals",
          tabBarIcon: (tabInfo) => (
            <Ionicons name="ios-restaurant" size={25} color={tabInfo.color} />
          ),
          tabBarColor: colors.primary,
        }}
      />
      <Tab.Screen
        name="Favourites"
        component={FavStackNavigator}
        options={{
          tabBarIcon: (tabInfo) => (
            <Ionicons name="ios-star" size={25} color={tabInfo.color} />
          ),
          tabBarColor: colors.accent,
        }}
      />
    </Tab.Navigator>
  );
}

function FilterStackNavigator() {
  return (
    <FilterStack.Navigator>
      <FilterStack.Screen name="Filters" component={FilterScreen} />
    </FilterStack.Navigator>
  );
}

const Drawer = createDrawerNavigator();

function MenuNavigator() {
  return (
    <Drawer.Navigator>
      <Drawer.Screen name="MealFavs" component={MealsFavTabNavigator} />
      <Drawer.Screen name="Filters" component={FilterStackNavigator} />
    </Drawer.Navigator>
  );
}

export default MenuNavigator;
export default function App() {
  const [fontLoaded, setFontLoaded] = useState(false);


  if (!fontLoaded) {
    return (
      <AppLoading
        startAsync={fetchFonts}
        onFinish={() => setFontLoaded(true)}
        onError={(err) => console.log(err)}
      />
    );
  }

  return <NavigationContainer><MealsNavigator /></NavigationContainer>
}
const Stack=createStackNavigator();
const FavStack=createStackNavigator();
常量FilterStack=createStackNavigator();
常量选项卡=
Platform.OS==“android”
? createMaterialBottomTabNavigator()
:createBottomTabNavigator();
常量默认屏幕选项={
headerStyle:{backgroundColor:colors.primary},
头部颜色:“白色”,
};
函数MealsNavigator(){
返回(
);
}
函数FavStackNavigator(){
返回(
);
}
函数度量值favtabnavigator(){
返回(
(
),
tabBarColor:colors.primary,
}}
/>
(
),
tabBarColor:colors.accent,
}}
/>
);
}
函数FilterStackNavigator(){
返回(
);
}
const Drawer=createDrawerNavigator();
函数MenuNavigator(){
返回(
);
}
导出默认菜单生成器;
下面是App.js的几行代码:

const Stack = createStackNavigator();
const FavStack = createStackNavigator();
const FilterStack = createStackNavigator();

const Tab =
  Platform.OS === "android"
    ? createMaterialBottomTabNavigator()
    : createBottomTabNavigator();

const defaultScreenOptions = {
  headerStyle: { backgroundColor: colors.primary },
  headerTintColor: "white",
};
function MealsNavigator() {
  return (
    <Stack.Navigator screenOptions={defaultScreenOptions}>
      <Stack.Screen name="Meals Categories" component={CategoriesScreen} />
      <Stack.Screen name="Profile" component={CategoryMealScreen} />
      <Stack.Screen name="Details" component={MealDetailsScreen} />
    </Stack.Navigator>
  );
}

function FavStackNavigator() {
  return (
    <FavStack.Navigator screenOptions={defaultScreenOptions}>
      <FavStack.Screen name="Favourites" component={FavouritesScreen} />
      <FavStack.Screen name="Details" component={MealDetailsScreen} />
    </FavStack.Navigator>
  );
}

function MealsFavTabNavigator() {
  return (
    <Tab.Navigator
      tabBarOptions={{ activeTintColor: colors.accent }}
      shifting={true}
    >
      <Tab.Screen
        name="All"
        component={MealsNavigator}
        options={{
          tabBarLabel: "Meals",
          tabBarIcon: (tabInfo) => (
            <Ionicons name="ios-restaurant" size={25} color={tabInfo.color} />
          ),
          tabBarColor: colors.primary,
        }}
      />
      <Tab.Screen
        name="Favourites"
        component={FavStackNavigator}
        options={{
          tabBarIcon: (tabInfo) => (
            <Ionicons name="ios-star" size={25} color={tabInfo.color} />
          ),
          tabBarColor: colors.accent,
        }}
      />
    </Tab.Navigator>
  );
}

function FilterStackNavigator() {
  return (
    <FilterStack.Navigator>
      <FilterStack.Screen name="Filters" component={FilterScreen} />
    </FilterStack.Navigator>
  );
}

const Drawer = createDrawerNavigator();

function MenuNavigator() {
  return (
    <Drawer.Navigator>
      <Drawer.Screen name="MealFavs" component={MealsFavTabNavigator} />
      <Drawer.Screen name="Filters" component={FilterStackNavigator} />
    </Drawer.Navigator>
  );
}

export default MenuNavigator;
export default function App() {
  const [fontLoaded, setFontLoaded] = useState(false);


  if (!fontLoaded) {
    return (
      <AppLoading
        startAsync={fetchFonts}
        onFinish={() => setFontLoaded(true)}
        onError={(err) => console.log(err)}
      />
    );
  }

  return <NavigationContainer><MealsNavigator /></NavigationContainer>
}
导出默认函数App(){
常量[fontLoaded,setFontLoaded]=useState(false);
如果(!fontLoaded){
返回(
setFontLoaded(真)}
onError={(err)=>console.log(err)}
/>
);
}
返回
}

代码在没有抽屉的情况下不会给出错误,它在堆栈和选项卡导航器上工作得非常好

嘿,巴维斯!局外人很难也没有必要浏览您提供的所有代码。您能否提供更多详细信息,说明您已经尝试了哪些方法来解决此问题,并将问题中的代码缩小到一个范围?(例如,准确且仅限于导致问题的代码)将您的代码上载到codepad.io之类的文件,以便我们可以更好地帮助您。嘿,巴维斯!局外人很难也没有必要浏览您提供的所有代码。您能否提供更多详细信息,说明您已经尝试了哪些方法来解决此问题,并将问题中的代码缩小到一个范围?(例如,准确且仅限于导致问题的代码)将您的代码上载到codepad.io之类的文件,以便我们可以更好地帮助您。