2017-01-14 8 views
0

я имею проблему с выдвижным ящиком и штурманомреагируют родной ящик с навигацией

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> 

     ) 

} 

я попытался переместить навигатор в ящике, но я потерял ссылку для навигатора и он не работает для меня

ответ

0

Вы можете вызвать функцию, которая возвращает функцию навигатора, как это:

getNav() 
{ 
    return this._navigator 
} 

// внутри renderscene

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

функцию вызова getNav при прохождении ссылки навигатор.

Приветствия :)

0

Свяжите это с renderScene

renderScene={this.renderScene.bind(this)}