質問: react native-デバイスの戻るボタンの処理 デバイスの戻るボタンが押されたときに複数の画面がスタック上にあるかどうかを確認したい。はいの場合は前の画面を表示し、いいえの場合はアプリを終了します。多くの例を確認しましたが、それらはbackandroidとnavigatorを使用しています。ただし、どちらも非推奨です。 backhandlerはbackandroidの代替品です。また、props.navigation.goback(null)を使用して前の画面を表示できます。しかし、スタック内の画面カウントを見つけるためのコードを見つけることができません。非推奨のナビゲーターを使用したくない!
回答: これを試してください反応ナビゲーションcomponentdidmount() { backhandler.addeventlistener('hardwarebackpress', this.handlebackbutton); } handlebackbutton = () => { const pushaction = stackactions.push({ routename: 'defaultselections', }); this.props.navigation.dispatch(pushaction); } 現在の画面は "defaultselections"で、戻るボタンを押すと、同じボタンに移動し、戻るボタンを無効にすると、戻るボタンが無効になります。return true backbuttonの場合(公式ドキュメントで提案されているとおり)disablesすべての戻るボタンscreens;不要