本文作者 Fran?ois Zaninotto 是資深 React 開發(fā)者,在看到 React 官方開始推廣服務(wù)器組件后,他對此表示擔憂,因為這會讓現(xiàn)有的很多寫法都失效。
文章討論了 React 和 Next.js 團隊最近推廣的服務(wù)器組件,這種新的構(gòu)建 Web 應(yīng)用程序的方式與大多數(shù)現(xiàn)有的 React 應(yīng)用程序不符。
因此,作者提出了一個問題:這種變化是否像 Angular.js 轉(zhuǎn)向 Angular 2 一樣大?React 是否正在經(jīng)歷類似于 Angular.js 的階段?
文章指出,React 的核心仍然是一個視圖庫,這一點沒有改變:使用 React 服務(wù)器組件,您仍然可以使用 JSX 構(gòu)建組件,并渲染作為 props 傳遞的動態(tài)內(nèi)容。但是,除此之外,服務(wù)器組件中的所有其他內(nèi)容都發(fā)生了變化。數(shù)據(jù)獲取不再依賴于 useEffect 或 react-query;相反,開發(fā)者應(yīng)該在異步組件中使用 fetch。
作者認為,React 團隊對 fetch 函數(shù)進行了增強,以提供自動請求去重。這是必要的,因為如果您需要在組件樹的更深處訪問獲取的數(shù)據(jù),則不能將其放置在 React Context 中,因為 useContext 在服務(wù)器組件中被禁用。
因此,在組件樹的不同位置訪問相同獲取的數(shù)據(jù)的推薦方法是重新獲取它,并依賴于 React 進行去重。此 fetch 函數(shù)還默認緩存數(shù)據(jù),而不管響應(yīng)緩存標頭如何。
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4331瀏覽量
62622 -
應(yīng)用程序
+關(guān)注
關(guān)注
37文章
3268瀏覽量
57710 -
angular
+關(guān)注
關(guān)注
0文章
4瀏覽量
3031
原文標題:React正在經(jīng)歷Angular.js的時刻嗎?
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論