ホームページ > ウェブフロントエンド > jsチュートリアル > URL 変更後に React-Router-Dom Link コンポーネントが正しいコンポーネントをレンダリングしないのはなぜですか?

URL 変更後に React-Router-Dom Link コンポーネントが正しいコンポーネントをレンダリングしないのはなぜですか?

Susan Sarandon
リリース: 2024-12-22 04:13:13
オリジナル
263 人が閲覧しました

Why Doesn't My React-Router-Dom Link Component Render the Correct Component After a URL Change?

React-Router-Dom のリンク タグの問題

React-router-dom は、単一のページ間のナビゲーションのための Link コンポーネントを提供します。ページアプリケーション。ただし、場合によっては、リンク タグをクリックすると URL が変更されるが、対応するコンポーネントのレンダリングに失敗するという問題が発生することがあります。

説明:

問題これは、react-router-dom@5 と React@18 のバージョン間の互換性の問題に起因します。具体的には、react-router-dom の 5.3.3 より前のバージョンは React 18 と完全な互換性がありません。

解決策:

この問題を解決するには、次のいずれかを実行します。次の解決策を適用できます:

1. React-Router-Dom を更新します:

  • react-router-dom バージョン 5.3.3 以降に更新します。このバージョンには、この互換性の問題に対する修正が含まれています。
npm uninstall -S react-router-dom
npm install -S react-router-dom@5.3.3
ログイン後にコピー

2. React 17 に戻す:

  • React 17 にダウングレードするか、index.js ファイルで React 17 構文を使用します。
import { StrictMode } from "react";
import ReactDOM from "react-dom";

import App from "./App";

ReactDOM.render(
  <StrictMode>
    <App />
  </StrictMode>,
  document.getElementById(&quot;root&quot;)
);
ログイン後にコピー

3.ネストされた React.StrictMode:

  • React.StrictMode コンポーネントをルーター コンポーネントの子になるように移動します。
<BrowserRouter>
  <React.StrictMode>
    ...
  </React.StrictMode>
</BrowserRouter>
ログイン後にコピー

4. React-Router-Dom 6 へのアップグレード:

  • react-router-dom の最新バージョン (バージョン 6 以降) にアップグレードし、それに応じてルート構文を調整します。

以上がURL 変更後に React-Router-Dom Link コンポーネントが正しいコンポーネントをレンダリングしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート