ホームページ  >  に質問  >  本文

ナビゲーションとリダイレクトが反応ルーターのパスにリダイレクトされない

ロジスティック タブがあります。logisticData 値が null の場合、ページを ":logisticId/edit"# # から "/logistic" にリダイレクトします。

#しかし、このコードを実行してもコードはリダイレクトされません

リーリー

私が何か間違ったことをしているのではないか、それともこれを達成する方法があるのか​​疑問に思っています。

P粉418214279P粉418214279259日前403

全員に返信(1)返信します

  • P粉352408038

    P粉3524080382024-02-26 18:29:38

    redirectユーティリティ関数は、データ ルーターのローダーおよび操作関数でのみ有効であり、React コンポーネントには影響しません。

    useEffect フックの navigate 関数を使用して、命令的な ナビゲーション操作を発行できます。

    import { useLocation, useNavigate } from 'react-router-dom'; 関数 EditLogistic() { const {状態} = useLocation(); const logisticData = 状態; const navigate = useNavigate(); useEffect(() => { if (!logisticData) { navigate("/logistic", { replace: true }); } }, [ロジスティックデータ、ナビゲート]); ... }
     あるいは、

    Navigate コンポーネントを介して 宣言的な ナビゲーション アクションを発行することもできます。 import { Navigate, useLocation } from 'react-router-dom'; 関数 EditLogistic() { const {状態} = useLocation(); const logisticData = 状態; if (!logisticData) { 戻る ###; } ... }

    返事
    0
  • キャンセル返事