如何在抽屉中添加自定义退出按钮?我已经尝试了一些方法,但似乎找不到解决方案。这就是我被困住的地方。
import React from 'react';
import {TouchableOpacity, Image, Text} from 'react-native';
import {NavigationContainer} from '@react-navigation/native';
import {createStackNavigator} from '@react-navigation/stack';
import {createDrawerNavigator} from '@react-navigation/drawer';
const HomeStack = createStackNavigator();
const Drawer = createDrawerNavigator();
// Screens
import HomeScreen from '../containers/HomeContainer';
const HomeStackScreen = () => {
return (
<HomeStack.Navigator>
<HomeStack.Screen
name="My Thoughts"
component={HomeScreen}
/>
</HomeStack.Navigator>
);
};
function DrawerNavigation() {
return (
<Drawer.Navigator>
<Drawer.Screen name="Home" component={HomeStackSceen} />
<TouchableOpacity>
<Text>Logout</Text>
</TouchableOpacity>
</Drawer.Navigator>
);
}
export const AppNavigation = () => {
return (
<NavigationContainer>
<DrawerNavigation/>
</NavigationContainer>
);
};
我收到一条错误消息,指出只能添加屏幕,请参阅TouchableOpacity
答案 0 :(得分:5)
您可以将其用于自定义内容https://reactnavigation.org/docs/drawer-navigator/#providing-a-custom-drawercontent
import {
createDrawerNavigator,
DrawerContentScrollView,
DrawerItemList,
DrawerItem,
} from '@react-navigation/drawer';
function CustomDrawerContent(props) {
return (
<DrawerContentScrollView {...props}>
<DrawerItemList {...props} />
<DrawerItem label="Help" onPress={() => alert('Link to help')} />
</DrawerContentScrollView>
);
}
const Drawer = createDrawerNavigator();
function MyDrawer() {
return (
<Drawer.Navigator drawerContent={props => <CustomDrawerContent {...props} />}>
<Drawer.Screen name="Feed" component={Feed} />
<Drawer.Screen name="Article" component={Article} />
</Drawer.Navigator>
);
}