私は react-router
アラートを作成しているので、ここではあるタブから別のタブに切り替えるときにアラート メッセージを適用したいと考えています。関数 confirmSwitchTab
を作成したため、alert 属性を適用しましたが、機能しません。各ルートでタブから別のタブに切り替えたいときにメッセージが表示されるようにプロンプトを作成するにはどうすればよいですか。
P粉5643017822024-02-04 15:50:08
コードがデフォルトのリンク アクションの発生を妨げていないため、機能しません。リンクがクリックされると、接続された onClick
ハンドラーが他のロジックを実行している間に、ナビゲーション アクションが直ちに有効になります。
クリック ハンドラーは、クリック イベント オブジェクトを使用し、そのオブジェクトに対して preventDefault
を呼び出して、ナビゲーション操作の発生を停止する必要もあります。
P粉9147310662024-02-04 12:11:39
onLeave の仕組みについて誤解があると思います :-)
true を返しても「離脱操作は確認されません」。いずれにしても休業要請は確定となります。 onLeave 属性は単純に関数を受け取り、ページを離れるときにそれをトリガーします。この関数は、ここのようにヒントとして使用できますが、戻り値は使用されません。
達成したいことは、ページが実際に離れる前に完了する必要があります。アプリケーションのどこかに、ボタンをクリックして実際にページを変更できるナビゲーション メニューが必要です (通常は
を使用します) リーリー)
ここで関数を使用します。
同様のものがあると仮定します
リーリーこのコールバックでconfirmSwitchTab関数を呼び出したいとします。
これを
のように変更できます。 リーリーこれがお役に立てば幸いです。私の質問が間違っている場合はお知らせください。
###乾杯### 質問を編集した後###これを試して:### リーリー