ロジスティック タブがあります。logisticData 値が null の場合、ページを ":logisticId/edit"# # から "/logistic" にリダイレクトします。
logisticData
":logisticId/edit"# # から
にリダイレクトします。
リーリー
redirectユーティリティ関数は、データ ルーターのローダーおよび操作関数でのみ有効であり、React コンポーネントには影響しません。
redirect
useEffect フックの navigate 関数を使用して、命令的な ナビゲーション操作を発行できます。
useEffect
navigate
Navigate コンポーネントを介して 宣言的な ナビゲーション アクションを発行することもできます。 import { Navigate, useLocation } from 'react-router-dom'; 関数 EditLogistic() { const {状態} = useLocation(); const logisticData = 状態; if (!logisticData) { 戻る ###; } ... }
コンポーネントを介して
redirect
ユーティリティ関数は、データ ルーターのローダーおよび操作関数でのみ有効であり、React コンポーネントには影響しません。
import { useLocation, useNavigate } from 'react-router-dom'; 関数 EditLogistic() { const {状態} = useLocation(); const logisticData = 状態; const navigate = useNavigate(); useEffect(() => { if (!logisticData) { navigate("/logistic", { replace: true }); } }, [ロジスティックデータ、ナビゲート]); ... } あるいは、useEffect
フックのnavigate
関数を使用して、命令的な ナビゲーション操作を発行できます。Navigate
コンポーネントを介して
宣言的な ナビゲーション アクションを発行することもできます。 import { Navigate, useLocation } from 'react-router-dom'; 関数 EditLogistic() { const {状態} = useLocation(); const logisticData = 状態; if (!logisticData) { 戻る ###; } ... }