反应原生抽屉与导航

时间:2017-01-14 10:34:50

标签: reactjs react-native navigator drawer

我有抽屉和导航器的问题

https://github.com/root-two/react-native-drawer

问题是,当我按下抽屉上的任何按钮并回调推动另一个视图时它变得非常慢 这是我的代码

    render() {
    return <Navigator
        ref={(nav) => { navigator = nav; }}
        initialRoute={{name:'PlayingNow'}}
        renderScene={this.renderScene}
        configureScene={(route, routeStack) => ({
            ...route.sceneConfig || Navigator.SceneConfigs.PushFromRight,
            gestures: route.gestures
        })}
        sceneStyle={{backgroundColor:'#F5FCFF'}}
    />
}

renderScene(route, navigator){
    let Component = ROUTES[route.name];
    return(
            <Drawer
                type="overlay"
                content={<DrawerContent route={route} navigator={navigator}/>}
                tapToClose={true}
                panOpenMask={0.1}
                openDrawerOffset={0.25} // 20% gap on the right side of drawer
                panCloseMask={0.2}
                closedDrawerOffset={0}
                tweenHandler={(ratio) => ({
                    main: { opacity:(2-ratio)/2 }
                })}
            >
                <Component route={route} navigator={navigator}/>
            </Drawer>

        )

}

我试图在抽屉里移动导航器,但我丢失了导航器的参考,但它对我不起作用

2 个答案:

答案 0 :(得分:0)

您可以调用返回导航器函数的函数,如下所示:

getNav()
{
  return this._navigator
}

//在renderscene里面

renderscene(route,navigator)
{
  this._navigator = navigator
}

在传递导航器引用时调用getNav函数。

干杯:)

答案 1 :(得分:0)

使用renderScene

绑定它
renderScene={this.renderScene.bind(this)}