Try this approach by explicitly defining and exporting the class name MyDrawer:
import React, { Component } from 'react'; import Drawer from 'react-native-drawer'; import ControlPanel from './ControlPanel'; import {Actions, DefaultRenderer} from 'react-native-router-flux'; class MyDrawer extends Component { render(){ const state = this.props.navigationState; const children = state.children; return ( <Drawer ref="navigation" open={state.open} onOpen={()=>Actions.refresh({key:state.key, open: true})} onClose={()=>Actions.refresh({key:state.key, open: false})} type="displace" content={<SideMenu />} tapToClose={true} openDrawerOffset={0.2} panCloseMask={0.2} negotiatePan={true} tweenHandler={(ratio) => ({ main: { opacity:Math.max(0.54,1-ratio) } })}> <DefaultRenderer navigationState={children[0]} onNavigate={this.props.onNavigate} /> </Drawer> ); } } export default MyDrawer;
Change the file name to MyDrawer.js and then import using the following routes:
import MyDrawer from './components/MyDrawer' import TestView from './components/TestView' render() { return ( <Router> <Scene key="drawer" component={MyDrawer}> <Scene key="main" tabs={false} > <Scene key="fireBaseTest" component={TestView} drawerImage={navToggle} /> //add more scenes here </Scene> </Scene> </Router>); } }
source share