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
ファイルはのようになります使用していると仮定すると、