I am trying to do a logout function in my react-native drawernavigator. But I have no idea how to do so. I stored the token in asyncstorage, I need to logout and clear the asyncstorage at the same time. Here is my code, anyone having idea about it?
const Drawer = createDrawerNavigator();
const Stack = createStackNavigator();
export default class SideMenu extends Component {
render(){
createHomeStack = () =>
<Stack.Navigator>
<Stack.Screen name="Upcoming Activities" component={HomeScreen}
options={{
headerStyle: {backgroundColor: '#87CEFA',},
headerTintColor: '#fff',
headerTitleStyle: {fontWeight: 'bold',}
}} />
<Stack.Screen name="Details" component={DetailsScreen}
options={{headerStyle: {backgroundColor: '#87CEFA',},
headerTintColor: '#fff',
headerTitleStyle: {fontWeight: 'bold',}
}}/>
</Stack.Navigator>
createYourStack = () =>
<Stack.Navigator>
<Stack.Screen name="Your Activities" component={YourActivitiesScreen}
options={{
headerStyle: {backgroundColor: '#87CEFA',},
headerTintColor: '#fff',
headerTitleStyle: {fontWeight: 'bold',}
}} />
<Stack.Screen name="Details" component={DetailsScreen}
options={{headerStyle: {backgroundColor: '#87CEFA',},
headerTintColor: '#fff',
headerTitleStyle: {fontWeight: 'bold',}
}}/>
</Stack.Navigator>
return (
<NavigationContainer>
<Drawer.Navigator initialRouteName="Home">
<Drawer.Screen
name="Home"
children={createHomeStack}
options={{ drawerLabel: 'Home' }}
/>
<Drawer.Screen
name="Your Activities"
children={createYourStack}
options={{ drawerLabel: 'Your Activities' }}
/>
<Drawer.Screen
name="Logout"
//component={}
options={{ drawerLabel: 'Logout' }}
/>
</Drawer.Navigator>
</NavigationContainer>
)
}
}
Update question: I need to direct it to the login while pressing the logout in drawer navigator, but my login screen is using the Router from 'react-native-router-flux'
export default class Routes extends Component {
render() {
return(
<Router>
<Stack key="root" hideNavBar>
<Scene key="login" component={Login} title="Login" initial/>
<Scene key="signup" component={Signup} title="Signup" />
<Scene key="home" component={SideMenu} title="HomeScreen" />
</Stack>
</Router>
);
}
}