自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

前端社區(qū)又吵起來了,React團(tuán)隊(duì)終于妥協(xié)!

開發(fā) 前端
React 團(tuán)隊(duì)棄用 Create React App 后,TanStack 迅速推出 create-tsrouter-app 腳手架,集成 Vite、React Query、TanStack Router等現(xiàn)代化技術(shù),為 SPA 開發(fā)提供最佳實(shí)踐。

React 團(tuán)隊(duì)近日正式宣布棄用 Create React App(CRA),為填補(bǔ) CRA 的空白,TanStack(以 React Query 聞名的前端工具集)迅速推出全新腳手架 create-tsrouter-app。本文就來看看 create-tsrouter-app 的亮點(diǎn)以及 React 棄用 Create React App 之后帶來的一些爭議和改變。

本文省流版: 

React 團(tuán)隊(duì)棄用 Create React App 后,TanStack 迅速推出 create-tsrouter-app 腳手架,集成 Vite、React Query、TanStack Router等現(xiàn)代化技術(shù),為 SPA 開發(fā)提供最佳實(shí)踐。

React 官方對框架的執(zhí)著推薦引發(fā)了社區(qū)爭議,社區(qū)呼吁提供更多輕量級工具選擇(如 Vite)。Redux 核心維護(hù)者對文檔提出了PR,建議平衡使用框架與常用工具,目前 React 團(tuán)隊(duì)已采納大部分建議,并更新了官方文檔。

create-tsrouter-app

create-tsrouter-app 以 Vite 為核心,提供了 CRA 的所有功能,整合了包括 React Query、TanStack Router 在內(nèi)的多項(xiàng)現(xiàn)代化技術(shù),為 SPA 開發(fā)提供開箱即用的最佳實(shí)踐方案。

圖片圖片

可以使用以下命令來創(chuàng)建基于 TypeScript 的 SPA 應(yīng)用:

npx create-tsrouter-app@latest my-app --template typescript

目前,該腳手架通過了多個參數(shù):

  • 如果想要 Tailwind,只需添加--tailwind
  • 如果想要選擇包管理器(npm``bun``yarn``pnpm),只需添加--package-manager
  • 如果需要基于文件的路由,只需添加 --template file-router

TanStack

TanStack 作為一個使用廣泛的高質(zhì)量前端工具集,提供了包括狀態(tài)管理、路由、數(shù)據(jù)可視化在內(nèi)的多種庫和工具,其中 React Query 尤為知名。

圖片圖片

作為此腳手架的核心,TanStack Router 憑借以下特性成為 React Router 的理想替代品:

  • 極致的類型安全

自動推斷路由參數(shù)、查詢參數(shù)與導(dǎo)航狀態(tài),實(shí)現(xiàn)端到端的 TypeScript 支持。

編譯時校驗(yàn)路徑匹配,徹底消除路徑拼寫錯誤和參數(shù)類型不匹配問題。

  • 數(shù)據(jù)驅(qū)動式路由設(shè)計
  • 內(nèi)置 SWR 緩存策略的路由加載器,支持預(yù)加載與數(shù)據(jù)緩存。
  • 深度兼容 React Query/SWR,天然適配客戶端數(shù)據(jù)緩存場景。
  • 企業(yè)級路由架構(gòu)
  • 文件系統(tǒng)路由生成:通過目錄結(jié)構(gòu)自動映射路由,簡化維護(hù)成本(類似 Next.js)。
  • 嵌套布局與異步路由:支持動態(tài)加載組件與錯誤邊界,優(yōu)化首屏性能。
  • 中間件擴(kuò)展:可在路由匹配、加載階段插入權(quán)限校驗(yàn)、日志等邏輯。
  • 高級狀態(tài)管理
  • 類型安全的查詢參數(shù) API:支持復(fù)雜對象序列化與驗(yàn)證(如日期、枚舉)。
  • 基于 JSON 的查詢參數(shù)管理:替代 URLSearchParams,避免手動編解碼。

橫向?qū)Ρ龋篢anStack Router vs React Router vs Next.js:

圖片圖片

圖片圖片

圖片圖片

可以看到,TanStack Router 在很多方面都遠(yuǎn)遠(yuǎn)優(yōu)于 React Router,不管你用不用 create-tsrouter-app 來創(chuàng)建新項(xiàng)目,TanStack Router 都值的嘗試,以替代有點(diǎn) out 的 React Router。

圖片圖片

React 框架爭議

React 官方一直鼓勵使用 React 框架來創(chuàng)建新項(xiàng)目,但在實(shí)際開發(fā)中,對于許多單頁應(yīng)用(SPA)來說,使用 Vite 等輕量級工具可能更為合適。

對于 React 官方對框架的執(zhí)著推薦,社區(qū)也出現(xiàn)很多不滿的聲音:

  • 尤雨溪表示,官方的推薦很糟糕:
  1. 建議當(dāng)前的 CRA用戶直接遷移到框架是一個糟糕的建議。這會使他們面臨比當(dāng)前設(shè)置更加復(fù)雜的局面,并大大增加遷移的成本和風(fēng)險。
  2. 也不能用“他們應(yīng)該使用框架,因?yàn)榭蚣馨酚珊蛿?shù)據(jù)獲取功能”來為這一建議辯解,因?yàn)槿绻麄冃枰@些功能,很可能已經(jīng)在使用CRA的基礎(chǔ)上,通過自己選擇的解決方案實(shí)現(xiàn)了這些功能。與其將這些功能遷移到可能以完全不同方式處理這些問題的框架中,最明顯且最直接的方法是,用類似但更現(xiàn)代、性能更好的工具來替換CRA。

圖片圖片

  • Munawwar Firoz 表示,誰會推薦這些(截圖)作為遷移路徑呢?這可比僅僅替換構(gòu)建相關(guān)的部分(比如使用最受歡迎的 Vite,或者是rsbuild、parcel 等)要困難得多。

圖片圖片

對此,Redux 的核心維護(hù)者 Mark Erikson 總結(jié)了社區(qū)上的意見,并重寫了官方文檔中 創(chuàng)建一個 React 應(yīng)用 部分,已經(jīng)向 React 倉庫提了 PR:https://github.com/reactjs/react.dev/pull/7618。

圖片圖片

在新文檔中,不僅對推薦 React 框架部分進(jìn)行了更詳細(xì)的解釋,還新增了從頭開始 部分,推薦使用 Vite、Rsbuild、Parcel 來作為構(gòu)建工具,使用 React Router、TanStack Router 作為路由工具,使用 React Query、SWR、RTK Query 作為數(shù)據(jù)獲取工具。

圖片圖片

這才是一個更好的平衡:

  • 仍然建議將框架作為默認(rèn)設(shè)置,并解釋具體原因。
  • 為學(xué)習(xí)者或想要更簡單設(shè)置的開發(fā)者提供指導(dǎo),并推薦常用工具 。

目前,React 團(tuán)隊(duì)已經(jīng)采用了這個 PR 的大部分建議,并在文檔中新增了一頁“從頭開始構(gòu)建React應(yīng)用”。

圖片圖片

責(zé)任編輯:武曉燕 來源: 前端充電寶
相關(guān)推薦

2021-05-27 05:35:45

Go傳值傳引用

2024-05-09 08:35:24

哈希表數(shù)組存儲

2020-04-26 11:30:55

哈希表編程語言開發(fā)

2024-10-22 13:28:53

2024-01-09 07:26:16

ReactVue前端

2023-10-31 07:40:15

EslintJSHint

2024-07-08 00:00:07

2024-04-30 15:06:03

智能體模型工具

2023-10-30 17:14:59

AI模型

2022-06-08 19:10:27

MarcusLeCun算法

2017-09-13 18:39:40

iphone解鎖雷軍

2021-10-22 15:45:32

開發(fā)技能React

2023-11-26 17:14:05

2024-05-28 12:36:58

AIOpenAI工程師

2024-04-28 09:01:06

React 19更新前端

2025-02-18 14:08:14

2021-08-16 16:15:04

云計算亞馬遜微軟

2020-03-20 22:04:17

AndroidiOS谷歌

2016-01-05 11:26:54

2020-07-14 16:25:37

蘋果iPhone售后
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號