Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Reactjs 反应本机:有没有办法做一个哈伯格图标打开/关闭边栏菜单和头像抽屉?_Reactjs_React Native_React Navigation_React Navigation V5 - Fatal编程技术网

Reactjs 反应本机:有没有办法做一个哈伯格图标打开/关闭边栏菜单和头像抽屉?

Reactjs 反应本机:有没有办法做一个哈伯格图标打开/关闭边栏菜单和头像抽屉?,reactjs,react-native,react-navigation,react-navigation-v5,Reactjs,React Native,React Navigation,React Navigation V5,有没有办法做一个汉堡图标来打开/关闭边栏菜单? 我试图做一个图标,将打开或关闭侧栏,但我找不到如何与反应导航5。 我还需要知道如何把一个头像png放入抽屉菜单 import Settings from '../screens/Settings'; import Screen1 from '../screens/Screen1'; import Screen2 from '../screens/Screen2'; import Screen3 from '../screens/Screen3';

有没有办法做一个汉堡图标来打开/关闭边栏菜单? 我试图做一个图标,将打开或关闭侧栏,但我找不到如何与反应导航5。 我还需要知道如何把一个头像png放入抽屉菜单

import Settings from '../screens/Settings';
import Screen1 from '../screens/Screen1';
import Screen2 from '../screens/Screen2';
import Screen3 from '../screens/Screen3';

const Drawer = createDrawerNavigator();
const Stack = createStackNavigator();
const MaterialTopTabs = createMaterialTopTabNavigator();
const MaterialBottomTabs = createMaterialBottomTabNavigator();
const BottomTabs = createBottomTabNavigator();

const HomeStack = () => {
  return (
    <Stack.Navigator>
      <Stack.Screen name="Screen1" component={Screen1} />
      <Stack.Screen name="Screen2" component={Screen2} />
      <Stack.Screen name="Screen3" component={Screen3} />
      <Stack.Screen name="Settings" component={Settings} />
    </Stack.Navigator>
  );
};

function CustomDrawerContent(props) {
  return (
    <DrawerContentScrollView {...props}>
      <DrawerItem
        label="Settings"
        onPress={() => props.navigation.navigate('Settings')}
        // activeTintColor="red"
        // inactiveTintColor="black"
        focused="true"
      />
    </DrawerContentScrollView>
  );
}

const AppNavigator = (props) => {
  return (
    <NavigationContainer>
      <Drawer.Navigator
        drawerContent={(props) => <CustomDrawerContent {...props} />}
      >
        <Drawer.Screen name="Home" component={HomeStack} />
      </Drawer.Navigator>
    </NavigationContainer>
  );
};
export default AppNavigator;


您必须更改代码,如下所示


   import Settings from '../screens/Settings';
import Screen1 from '../screens/Screen1';
import Screen2 from '../screens/Screen2';
import Screen3 from '../screens/Screen3';

const Drawer = createDrawerNavigator();
const Stack = createStackNavigator();
const MaterialTopTabs = createMaterialTopTabNavigator();
const MaterialBottomTabs = createMaterialBottomTabNavigator();
const BottomTabs = createBottomTabNavigator();

const HomeStack = () => {
  return (
    <Stack.Navigator>
      <Stack.Screen name="Screen1" component={Screen1} />
      <Stack.Screen name="Screen2" component={Screen2} />
      <Stack.Screen name="Screen3" component={Screen3} />
      <Stack.Screen name="Settings" component={Settings} />
    </Stack.Navigator>
  );
};

function CustomDrawerContent(props) {
  return (
    <DrawerContentScrollView {...props}>
      <DrawerItem
        label="Settings"
        onPress={() => props.navigation.navigate('Settings')}
      />
    </DrawerContentScrollView>
  );
}

const AppNavigator = (props) => {
  return (
    <NavigationContainer>
      <Drawer.Navigator
        drawerContent={(props) => <CustomDrawerContent {...props} />}
      >
        <Drawer.Screen name="Home" component={HomeStack} />
      </Drawer.Navigator>
    </NavigationContainer>
  );
};
export default AppNavigator;

这将在抽屉导航器中嵌套堆栈导航器。

您不能这样混合导航器,您必须在另一个导航器中嵌套一个导航器。您可以在我的代码中演示如何执行此操作吗?因此,您想要在抽屉中嵌套堆栈或其他内容吗?我想要抽屉,我也想要堆栈。。我不知道我是否需要抽屉里的书堆。我只需要它们。请尝试我的回答我想在我的第一页中看到第2页,在抽屉中我只想看到设置。我更新了代码,使抽屉中有一个主堆栈和设置屏幕,请选中我编辑上面的代码。。。我想在我的第一个屏幕中看到1.在抽屉中,我只想看到设置我们会有问题,因为你无法从抽屉列表中隐藏屏幕:,堆栈中有问题,没有答案,上面的代码将有一个主页和设置屏幕以及左边的抽屉,所以你说我的应用程序中的所有屏幕都必须在抽屉下面??