De-yu's Note
  • Deyu Notebook
  • Side Project
    • Stock
    • ChatBox
    • SnowCraft
    • ScrollBar
  • 架構問題
    • 解決 RTK Query data 為 undefined 的實務做法
    • 透過 xstate 解決UI 狀態問題
  • 技術觀點
    • 為什麼需要 store
    • Router 作用
    • react 和 next.js 差異
    • monoRepo vs Multiple Repo
  • Performance
    • React 優化
  • JS Coding
    • Curry
    • Debounce
    • Throttle
  • map
  • memo()
  • Promise 實作
  • Promise Function
  • Testing
    • 使用 Jest 、 React Testing Library 、MSW 建立測試環境
  • Miscellaneous
    • Event Loop
    • Browser
    • Code Review
    • Storage
  • AMD 、 CommonJS 、 ES modules
  • JWT
  • Next.js
  • 用過的 module
  • Internet
    • UDP
  • TCP/IP
  • SSL TLS
  • HTTP
  • AI 工作流
    • Page 1
Powered by GitBook
On this page
  1. 技術觀點

Router 作用

很好的一個問題!簡單講,React Router主要解決的是:

  • SPA 中「切換頁面」的問題 在傳統網站裡,每次點連結,瀏覽器會整個重新載入一個新頁面(full reload)。 但在 SPA 裡,頁面切換要很快且不中斷,希望只換「畫面內容」,不重新載入整個網頁。

    ➔ React Router 就是讓你在 React 裡做到「改變 URL,但不重新載入整個網頁,只換畫面」。


更具體來說,React Router 解決了這些痛點:

  • URL 和畫面要同步: 比如你到 /profile,畫面要顯示個人頁,而且 URL 要正確,不然刷新後會出問題。

  • 前進/後退按鈕要能正常用: 使用者按瀏覽器的上一頁、下一頁,SPA 也要能跟著變畫面,不然體驗很怪。

  • 支援巢狀路由(nested routes): 有時一個頁面中有子頁面(像是設定頁面裡有「帳號設定」、「通知設定」),React Router 也能處理。

  • 動態參數(dynamic routing): 比如 /user/:id 這種,id 不固定,根據 id 顯示不同用戶資料。

Previous為什麼需要 storeNextreact 和 next.js 差異

Last updated 20 days ago