概要 フォームの入力中に離脱すると入力中の内容が失われてしまいます。離脱前に確認ダイヤログを挟むことで意図せぬ入力内容の消失を防ぐことができます。 離脱には以下の 2 種類があります。 ブラウザ操作による離脱: タブを閉じる、更新する、ブラウザナビゲーション(戻る、進む) Next.js のルーティングによる離脱: Next.js の機能で別ルートに遷移する このうち 2 は Next.js の router.events という機能でイベントを検知&キャンセルすることになりますが、この機能が App Router から使えなくなりました。 現在フィードバックが集まっていますがコントリビューターから明確な回答が得られておらず、この機能が復活するのかも不明な状況です。 2024年5月8日追記: Lee Robinson 氏より正式な回答が得られましたが依然ハッキーであるため、よりスマートな解