首頁 > web前端 > js教程 > 為什麼我的 React-Router-Dom 連結元件在 URL 更改後沒有渲染正確的元件?

為什麼我的 React-Router-Dom 連結元件在 URL 更改後沒有渲染正確的元件?

Susan Sarandon
發布: 2024-12-22 04:13:13
原創
264 人瀏覽過

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

React-Router-Dom 中的連結標籤問題

React-router-dom 提供了一個Link 元件,用於在單一頁面之間導航頁面應用程式。但在某些情況下,使用者會遇到點擊 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或更高版本)並相應調整路由語法。

以上是為什麼我的 React-Router-Dom 連結元件在 URL 更改後沒有渲染正確的元件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板