React是用于構(gòu)建用戶界面的JavaScript庫,能夠幫助用戶輕松的創(chuàng)建交互界面,構(gòu)建封裝你的組件,管理好你的狀態(tài)state,react能夠很好的限制用戶的輸入,通過虛擬的DOM來更新頁面,基本上無障礙地反應(yīng)在UI界面上。軟件革命性創(chuàng)新,性能出眾,代碼邏輯卻非常簡(jiǎn)單,深受用戶喜愛,是 Web 開發(fā)的主流工具。
React簡(jiǎn)介
為全新的 JSX 轉(zhuǎn)換器添加 react/jsx-runtime 和 react/jsx-dev-runtime。
根據(jù)原生框架構(gòu)建組件調(diào)用棧。
可以在 context 中設(shè)置 displayName 以改善調(diào)用棧信息。
防止 ‘use strict’ 從 UMD 的 bundles 中泄露。
停止使用 fb、me 進(jìn)行重定向。
框架特色
1、聲明式設(shè)計(jì):React 使創(chuàng)建交互式 UI 變得輕而易舉。為你應(yīng)用的每一個(gè)狀態(tài)設(shè)計(jì)簡(jiǎn)潔的視圖,當(dāng)數(shù)據(jù)變動(dòng)時(shí) React 能高效更新并渲染合適的組件
2、組件化:構(gòu)建管理自身狀態(tài)的封裝組件,然后對(duì)其組合以構(gòu)成復(fù)雜的 UI。
3、高效:React通過對(duì)DOM的模擬,最大限度地減少與DOM的交互。
4、靈活:無論你現(xiàn)在使用什么技術(shù)棧,在無需重寫現(xiàn)有代碼的前提下,通過引入 React 來開發(fā)新功能。
React DOM
將事件委托從 document 切換為 root。
在運(yùn)行下一個(gè)副作用前,請(qǐng)清理所有副作用。
異步運(yùn)行 useEffect 清理函數(shù)。
使用瀏覽器的 focusin 和 focusout 替換 onFocus 和 onBlur 的底層實(shí)現(xiàn)。
將所有 Capture 事件都使用瀏覽器的捕獲階段實(shí)現(xiàn)。
禁止在 onScroll 事件時(shí)冒泡。
如果 forwardRef 或 memo 組件的返回值為 undefined,則拋出異常。
移除事件池。
移除 React Native Web 不需要的內(nèi)部組件。
當(dāng)掛載 root 時(shí),附加所有已知的事件監(jiān)聽器。
在 Dev 模式下,禁用第二次渲染過程中的 console。
棄用為記錄且具有誤導(dǎo)性的 ReactTestUtils、SimulateNative API。
重命名內(nèi)部使用的私有字段。
不在開發(fā)環(huán)境調(diào)用 User Timing API。
在嚴(yán)格模式下重復(fù)渲染期間禁用 console。
在嚴(yán)格模式下,二次渲染組件也不使用 Hook。
允許在生命周期函數(shù)中調(diào)用 ReactDOM、flushSync(但會(huì)發(fā)出警告)。
將 code 屬性添加到鍵盤事件對(duì)象中。
為 video 元素添加 disableRemotePlayback 屬性。
為 input 元素添加 enterKeyHint 屬性。
當(dāng)沒有給 《Context、Provider》 提供任何值時(shí),會(huì)發(fā)出警告。
如果 forwardRef 或 memo 組件的返回值為 undefined,則拋出警告。
為無效更新改進(jìn)錯(cuò)誤信息。
從調(diào)用棧信息中忽略 forwardRef 和 memo。
在受控輸入與非受控輸入間切換時(shí),改善錯(cuò)誤消息。
保持 onTouchStart、onTouchMove 和 onWheel 默認(rèn)為 passive。
修復(fù)在 development 模式下 iframe 關(guān)閉時(shí),setState 掛起的問題。
使用 defaultProps 修復(fù)拉架子組件在渲染時(shí)的問題。
修復(fù)當(dāng) dangerouslySetInnerHTML 為 undefined 時(shí),誤報(bào)警告的問題。
使用非標(biāo)準(zhǔn)的 require 實(shí)現(xiàn)來修復(fù) Test Utils。
修復(fù) onBeforeInput 報(bào)告錯(cuò)誤的 event、type。
修復(fù) Firefox 中 event、relatedTarget 輸出為 undefined 的問題。
修復(fù) IE11 中 “unspecified error” 的問題。
修復(fù) shadow root 中的渲染問題。
使用事件捕獲修復(fù) movementX/Y polyfill 的問題。
使用委托處理 onSubmit 和 onReset 事件。
提高內(nèi)存使用率。
下一篇:幕享無線投屏軟件