npm install react-native-side-menuvar SideMenu = require('react-native-side-menu');
var ContentView = React.createClass({
render: function() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit index.ios.js
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload,{'\n'}
Cmd+Control+Z for dev menu
</Text>
</View>
);
}
});
var Application = React.createClass({
render: function() {
var menu = <Menu navigator={navigator}/>;
return (
<SideMenu menu={menu}>
<ContentView/>
</SideMenu>
);
}
});Clicking on any menu item should cause closing menu. It can be done by using menuActions which are passed thru props to menu component. Example looks like this:
var Menu = React.createClass({
about: function() {
this.props.menuActions.close();
this.props.navigator.push({...});
},
render: function() {
return (
<View>
<Text>Menu</Text>
<Text onPress={this.about}>About</Text>
</View>
);
}
});menuActions consists of following method(s):
close(Void) - Close menutoggle(Void) - Toggle menu (close / open)open(Void) - Open menu
menu(React.Component) - Menu componentanimation(spring|linear|easeInOut) - Type of slide animation. Default is "linear".openMenuOffset(Number) - Content view left margin if menu is openedhiddenMenuOffset(Number) - Content view left margin if menu is hiddentoleranceX(Number) - X axis tolerancetoleranceY(Number) - Y axis tolerancedisableGestures(Bool) - Disable whether the menu can be opened with gestures or notonChange(Function) - Callback on menu open/close. Is passedisOpenas an argument.menuPosition(String) - either 'left' or 'right', defaults to 'left'touchToClose(Bool) - Allows for touching the partially hidden view to close the menu. Defaults tofalse.
In progress
Creating this component has been inspired by @khanghoang's RNSideMenu example.
Also, thanks to @ericvicenti for help with figuring out with setNativeProps
Feel free to contact me in twitter or create an issue
