ilansas / react-native-navigation-drawer

A slide menu inspired from Android for React-Native
98 stars 26 forks source link

React Native Slide Menu (Navigation Drawer)

Description

A slide menu as we can see in Android which permits to route an item from the menu to a view displayed on the front view (check out the example to create your routes).

This Slide Menu can be opened by sliding from the left or from the right as you choose (see the prop in the example) To open it you have to slide from the right (or left) border (and not from anywhere on the screen).

alt tag

Installation

$ npm i --save react-native-navigation-drawer

Usage Example

var SlideMenu = require('react-native-navigation-drawer');
var Menu = require('./menu.js');

var Pages = require('./pages.js');
var FirstPage = Pages.FirstPage;
var SecondPage = Pages.SecondPage;

var BasicExample = React.createClass({
  getInitialState(fragmentId) {
    return ({ route: 'firstpage' });
  },

  updateFrontView() {
    //routing your pages here, don't forget to add a section in the menu ;)
    switch (this.state.route) {
      case 'firstpage':
        return <FirstPage />;
      case 'secondpage':
        return <SecondPage />;
    }
  },

  routeFrontView(fragmentId) {
    this.setState({ route: fragmentId });
  },

  render() {
    var fragment = this.updateFrontView();
    return (
      <View style={styles.container}>
        <SlideMenu frontView={fragment} routeFrontView={this.routeFrontView}
          menu={<Menu />} slideWay='left' moveFrontView={false} width={200}/>
      </View>
    );
  }
});

More details about pages and Menu in the project example.

Properties

Methods

Use it with this.refs

TODO

Credits

The slide menu has been inspired from these two projects:

Thanks guys for the good work ;)