I'm very new to React-Native so I definitely may be missing something. But all I want to do is add a hamburger type button to a settings page in the main Navigation bar. I have set up a link in the main part of that works the way I want hamburger button to work. Screenshot
import React from 'react';
import { AppRegistry, Text, View, Button } from 'react-native';
import { StackNavigator } from 'react-navigation';
class HomeScreen extends React.Component {
static navigationOptions = {
title: 'Welcome',
headerLeft: <Button onPress={ WHAT GOES HERE?? } title= "=" />
};
render() {
const { navigate } = this.props.navigation;
return (
<Button
onPress={() => navigate('Settings')}
title="Link to Settings" />
);
}
}
class Settings extends React.Component {
static navigationOptions = {
title: 'Settings',
headerLeft: <Button title= "=" />
};
render() {
return <Text>Hello, Settings!</Text>;
}
}
const SimpleApp = StackNavigator({
Home: { screen: HomeScreen },
Settings: { screen: Settings}
});
AppRegistry.registerComponent('NavPractice', () => SimpleApp);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
Having this, you're very close to solution.
Little know fact is
navigationOptions
accept function which return navigation options. That function accept some props,navigation
one of them. Know this, adjust your code a little.check this link with same issue https://github.com/react-community/react-navigation/issues/1539
check navigationOptions
from
In the above code it seems you are adding options to the sidebar and navigating to the sidebar menus.
In this way you can create as many drawer options as you can.. now how to combine drawer options:
//react navigation provides you with DrawerNavigator API
The drawer also comes with a prop that is screenProps={/* this prop will get passed to the screen components and nav options as props.screenProps */}, like this :
Following are the props that react navigator provide to open/close drawer.
You can also set the drawer style according to you, like this:
drawerWidth - Width of the drawer drawerPosition - Options are left or right. Default is left position. contentComponent - By default there is no scrollview available in the drawer. In order to add scrollview in the drawer you need to add
contentComponent
in the configuration. contentOptions - As the name suggest these are used to give color to the active and inactive drawer items (label).Cheers :)
Hey you can checkout my sample code which is a complete drawer sample with
react-navigation
.Hope it helps!