Fix wonky state with drawer

This commit is contained in:
Bart Akeley 2017-04-24 19:58:18 -05:00
parent 146f6d171f
commit 13d523e9e4

View file

@ -16,44 +16,50 @@ import Drawer from 'react-native-drawer';
setObservableConfig(rxjsconfig);
type State = {
drawerOpen: boolean,
drawerOpen: boolean,
};
export default class App extends Component {
state = { drawerOpen: false };
state = { drawerOpen: false };
state: State;
state: State;
toggleDrawer = () => {
this.setState(({ drawerOpen }) => ({ drawerOpen: !drawerOpen }));
};
toggleDrawer = () => {
this.setState(({ drawerOpen }) => ({ drawerOpen: !drawerOpen }));
};
closeDrawer = () => {
this.setState({ drawerOpen: false });
};
closeDrawer = () => {
this.setState({ drawerOpen: false });
};
render() {
const { drawerOpen } = this.state;
return (
<NativeRouter>
<ThemeProvider uiTheme={theme}>
<Drawer
ref={ref => this._drawer = ref}
type="overlay"
open={drawerOpen}
openDrawerOffset={100}
content={<DrawerMenu onCloseDrawer={this.closeDrawer} />}
>
<View style={theme.page.container}>
<TopToolbar toggleSideMenu={this.toggleDrawer} />
<Redirect from="/" to="/list/food" />
<Route path="/list/:type" component={List} />
<Route path="/foodItem/:id" component={FoodItemDetail} />
<Route path="/place/:id" component={PlaceDetail} />
</View>
</Drawer>
</ThemeProvider>
</NativeRouter>
);
}
openDrawer = () => {
this.setState({ drawerOpen: true });
};
render() {
const { drawerOpen } = this.state;
return (
<NativeRouter>
<ThemeProvider uiTheme={theme}>
<Drawer
ref={ref => (this._drawer = ref)}
type="overlay"
open={drawerOpen}
onOpen={this.openDrawer}
onClose={this.closeDrawer}
openDrawerOffset={100}
content={<DrawerMenu onCloseDrawer={this.closeDrawer} />}
>
<View style={theme.page.container}>
<TopToolbar toggleSideMenu={this.toggleDrawer} />
<Redirect from="/" to="/list/food" />
<Route path="/list/:type" component={List} />
<Route path="/foodItem/:id" component={FoodItemDetail} />
<Route path="/place/:id" component={PlaceDetail} />
</View>
</Drawer>
</ThemeProvider>
</NativeRouter>
);
}
}