私はReact Nativeアプリが0.18で、Android用の戻るボタン機能を実装しようとしています。私は私のindex.android.js
に次のコードを持っている:BackAndroid hardwareBackPressリスナーは初期ルートに戻った後に動作しなくなります
let navigator;
BackAndroid.addEventListener('hardwareBackPress',() => {
if (navigator && navigator.getCurrentRoutes().length > 1) {
navigator.pop();
return true;
}
return false;
});
そして、私のレンダリング中:
<Navigator
ref={(nav) => { navigator = nav; }}
...
私は前方に任意の数の経路を行けば戻るボタンが機能する、と私は、その後の任意の数を戻ることができます初期ルートへのルート。ただし、最初のルートに戻った後、JSをリロードするか、アプリを再起動するまで、戻るボタンは機能しなくなります。
誰かがこれに遭遇し、解決策はありますか?
編集:私は0.21,0.22および0.23-rc3でテストしましたが、最新のリリースでこの問題が引き続き発生しています。
私は非常に似たコードを持っており、そのコードでは、最初のルートに戻るときに戻るボタンがアプリケーション全体を終了します。これが目的でしたよね? – zvona
多少。私はアプリを起動し、すぐに戻るボタンをクリックすると、それはアプリを終了します。しかし、私はアプリを起動する場合は、任意のルートに進み、戻るボタンをクリックして、もう一度戻るボタンをクリックしてもアプリケーションを終了しないで、私は別のルートに戻る場合は、それはどちらかといえば初期のルートに。 – NeuroXc
基本的には、最初のルートに戻った後にリスナーがリッスンを停止したようです。ハンドラにconsole.logを置くと、初期ルートに戻った後に再度クリックしても起動しません。 – NeuroXc