特定のケースでデフォルトの戻る動作をオーバーライドし、履歴 popstate イベントを発生させるのではなく、アプリケーションの状態を更新しようとしています。
デフォルトの動作を防ぐためにフックする必要がある他のイベントはありますか? リモートの戻るボタンが e.keyCode === 27 で keydown イベントを発生させることがわかりました
const FIRE_REMOTE_BACK = 27;
handleBackButton = (e) => {
e.stopImmediatePropagation();
e.stopPropagation();
e.preventDefault();
// update app state
}
handleKeyDown = (e) => {
const {keyCode} = e;
if (keyCode === FIRE_REMOTE_BACK) {
return handleBackButton(e);
}
}
アプリケーションの状態が短時間更新されたのを確認しましたが、その後イベントが完了しました。