ボタンの onSubmit など、一部のユーザー アクションに対してナビゲーションを実行したいと考えています。ユーザーが「連絡先の追加」ボタンをクリックしたと仮定して、react-router がホームページ「/」でリダイレクトするようにします。現在、私はこの問題に直面しています --> TypeError: Cannot readproperties of unknown (reading 'push'). 初心者として、専門家の助けを本当に感謝しています。
AddContacts.js
リーリーこれは App.js ファイルです
リーリー
React Router v6 でリダイレクトする方法
リーリー###質問###
これは、存在しない未定義の
navigateプロパティから移動しようとしているためです。
useNavigateリーリー
フックは関数コンポーネントとのみ互換性があるため、クラス コンポーネントで
withRouternavigate
を使用する必要がある場合は、AddContacts
を次のように変換する必要があります。関数コンポーネント、または独自のカスタムwithRouter code> 高次コンポーネントをロールして、
react-router- の
withRouterHOC
クラスコンポーネントを関数コンポーネントに変換する方法は紹介しません。カスタムv5 などの「ルート プロパティ」を挿入します。 dom.xはやりました。
###解決###HOC の例を次に示します:
リーリーそして、
リーリーAddContacts
コンポーネントを新しい HOC で装飾します。
) が装飾されたコンポーネントに渡され、navigate
プロパティ (および設定した他のプロパティthis.navigate
navigateが定義されます。
さらに、ナビゲーション API は v5 から v6 に変更され、直接のhistory
オブジェクトは使用されなくなりました。はオブジェクトではなく関数です。使用するには、関数を呼び出して 1 つまたは 2 つの引数を渡します。最初の引数はターゲット パスで、2 つ目は
これで、ナビゲーションは次のようになります:
replace
キーやstate
キーを使用したオプションの「オプション」です。価値。リーリー