0

シーンをポップするかどうかを決定する前に、BackAndroid Pressでスタック長が必要な問題があります。スタック長を取得する方法はありますか? exitPressed上の基本的アクションネイティブルータフラックスのアクションスタック長を取得

BackAndroid.addEventListener('hardwareBackPress', this.exitPress.bind(this));

、私はそれがある場合は、スタックの長さは、1であるかどうかを確認したい、私は任意のヘルプは高く評価され、別のシーンにリダイレクトします。 hardwareBackPressは、スタック上の位置については何も知らないので、あなたはこれを達成することができますどのようにNavigator IDKを使用していない場合は

export default class Foo extends React.Component { 

    constructor(props) { 
     super(props); 
     this._navigator = null; 
    } 

    renderScene(route, navigator) { 
     if(!this._navigator){ 
      this._navigator = navigator; 
      BackAndroid.addEventListener('hardwareBackPress',() => { 
       if (this._navigator && this._navigator.getCurrentRoutes().length > 1) { 
        this._navigator.pop(); 
        return true; 
       } 

       return true; 
      }); 
     } 

     return React.createElement(component, { ...this.props, ...route.passProps, route, navigator }); 
    } 

    render() { 
     return (
      <Navigator 
       initialRoute={...} 
       configureScene={...} 
       renderScene={(route, nav) => {return this.renderScene(route, nav)}} 
      /> 
     ); 
    } 
} 

AppRegistry.registerComponent('Foo',() => Foo); 

:あなたはNavigatorあなたindex.android.jsファイルはのようになります使用していると仮定すると、

答えて