mirror of
https://github.com/status-im/react-navigation.git
synced 2025-02-25 01:28:16 +00:00
parent
aa92bcb0dd
commit
8fdfc6d7a6
@ -68,6 +68,12 @@ To open and close drawer, navigate to `'DrawerOpen'` and `'DrawerClose'` respect
|
||||
this.props.navigation.navigate('DrawerOpen'); // open drawer
|
||||
this.props.navigation.navigate('DrawerClose'); // close drawer
|
||||
```
|
||||
If you would like to toggle the drawer you can navigate to `'DrawerToggle'`, and this will choose which navigation is appropriate for you given the drawers current state.
|
||||
|
||||
```js
|
||||
// fires 'DrawerOpen'/'DrawerClose' accordingly
|
||||
this.props.navigation.navigate('DrawerToggle');
|
||||
```
|
||||
|
||||
## API Definition
|
||||
|
||||
|
@ -63,6 +63,9 @@ const DrawerNavigator = (
|
||||
DrawerOpen: {
|
||||
screen: () => null,
|
||||
},
|
||||
DrawerToggle: {
|
||||
screen: () => null,
|
||||
},
|
||||
},
|
||||
{
|
||||
initialRouteName: 'DrawerClose',
|
||||
|
@ -63,6 +63,12 @@ export default class DrawerView<T: *> extends PureComponent<void, Props, void> {
|
||||
const { routes, index } = nextProps.navigation.state;
|
||||
if (routes[index].routeName === 'DrawerOpen') {
|
||||
this._drawer.openDrawer();
|
||||
} else if (routes[index].routeName === 'DrawerToggle') {
|
||||
if (this._drawer.state.drawerShown) {
|
||||
this.props.navigation.navigate('DrawerClose');
|
||||
} else {
|
||||
this.props.navigation.navigate('DrawerOpen');
|
||||
}
|
||||
} else {
|
||||
this._drawer.closeDrawer();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user