為什麼react和react dom要分成兩個包?

時間 2021-05-30 02:11:41

1樓:我是老尚

因為有一些業務場景是沒有dom的,例如物聯網的小led屏什麼的。所以關於dom,就放在dom裡。

而ReactJs的野心不止於dom呀,它是乙個體系的,關於底層、核心的東西都在react包裡。例如react-native就是搞移動端的,它也是單獨的乙個包。

其實就是不同層級的模組之間不能完全依賴的思路嘛。

2樓:Shockw4ver

對於具有跨平台能力的 React 體系來說,分包可以將抽象邏輯與平台實現分開。

react 包即是抽象邏輯,它包含了 React 的主幹邏輯。例如元件實現、更新排程等。

react-dom 顧名思義就是一種針對 dom 的平台實現,主要用於在 web 端進行渲染。

而聲名在外的 react-native 則是原生應用實現,可以通過 react-native 內部的相應機制與作業系統進行通訊來呼叫原生控制項進行渲染。

這是乙個依賴倒置原則的典型應用,高層模組不應依賴底層模組的具體實現。簡單來說,就是我們只需要將元件按一定的形式編寫好,而最終 render 函式是以怎樣的機制將 JSX 渲染到頁面上的,我們不需要關心,只要這個機制同樣遵循我編寫元件所依賴的規則就好——這個規則就是 react。

3樓:markocen

因為React不僅能用在Web頁面,還能用在伺服器端SSR,移動端和桌面端,而ReactDOM只負責和Web頁面的DOM打交道

react為什麼沒有像vue和angular一樣提供「指令」這個功能?

Refector 其實也是可以提供的,vue和angular是在編譯期處理的,但是react可以在執行時處理,類似AST解析執行,可以參考這篇文章 基於react實現高度簡潔的表單方 文人可惡 react 是授人以漁,怎麼釣是你的事,我不管 vue的話是授人以魚,我怎麼釣的你別管,直接拿來用就好了。...

你為什麼喜歡 React?

小星ZlpwGreat react 寫js 多一點,剛開始寫vue 沒搞懂,後面寫 react 搞懂了,後面就一直寫 react 了 沒什麼喜不喜歡的,會了就和吃飯一樣,為什麼你喜歡用筷子吃飯這種 多試試吧 Nero 主要的setState,讓UI f data 這樣的函式式模式體現得淋漓盡致。資料...

React 為什麼要引入 class component?

因為React發布的時候前端還在刀耕火種,接受不了丘奇哥哥的理念。而且那個時候正好也是前端流行物件導向風格的時候,嘖嘖嘖。關鍵是你物件導向的話,要做戲做全套啊,光放個class在那裡有啥用,那麼多建立型模式都用上啊,依賴注入也用上啊?所以後來React乾脆函式式一擼到底,hooks應該是早就有了現在...