摘要:支持的三大特征,組件支持返回?cái)?shù)組,傳送門與錯(cuò)誤邊界。下面是新支持的特性的第一個(gè)參數(shù)可以是數(shù)組,字符串,數(shù)字,。有了它,成為對(duì)錯(cuò)誤處理最完善的框架。虛擬的結(jié)構(gòu)發(fā)生變化,每個(gè)節(jié)點(diǎn)都有等描述自己位置的屬性。
anu已經(jīng)有兩個(gè)月沒(méi)有發(fā)布了,經(jīng)過(guò)1.1.5-pre, 1.1.5-pre2, 1.1.5-pre3, 1.1.5-pre4, 1.1.5-pre5, 1.1.5-pre6, 最終放棄了1.1.5, 改成1.2. 因?yàn)閮?nèi)部變動(dòng)非常多,受控組件與非受控組件那塊完全重寫,只差一個(gè)case沒(méi)有跑通(這部分的測(cè)試代碼有2000多行)。支持React1.6?的三大特征,組件支持返回?cái)?shù)組,傳送門與錯(cuò)誤邊界。
下面是新支持的React16特性
ReactDOM.render的第一個(gè)參數(shù)可以是數(shù)組,字符串,數(shù)字,undefined, null, true, false。
React組件的render方法可以返回?cái)?shù)組,字符串,數(shù)字,undefined, null, true, false.
對(duì)于undefined, null, true, false, React15是生成一個(gè)占位用的注釋節(jié)點(diǎn)(nodeType為8),現(xiàn)在什么也不生成,完全靠算法實(shí)現(xiàn)對(duì)齊。
相鄰的數(shù)字與字任串會(huì)合并成一個(gè)文本節(jié)點(diǎn),比如說(shuō)
setState/forceUpdate的回調(diào)函數(shù)以前總在更新周期后才執(zhí)行,現(xiàn)在提前到每個(gè)組件的componentDidMount/Update后執(zhí)行。
生命周期順序改變,先A.componentWillMount->B.componentWillUnmount->A.compountDidMount.
createPortal的事件冒泡是基于虛擬DOM進(jìn)行冒泡的
跑通錯(cuò)誤邊界的1900多行的測(cè)試,這里的規(guī)則非常多,有空才詳細(xì)介紹。有了它,React16成為對(duì)錯(cuò)誤處理最完善的框架。
虛擬DOM的結(jié)構(gòu)發(fā)生變化,每個(gè)節(jié)點(diǎn)都有return, child, sibling等描述自己位置的屬性。
-return 指向父節(jié)點(diǎn),類似于瀏覽器的parentNode, 取代之前的_hostParent
-child 指向第一個(gè)子節(jié)點(diǎn),類似于瀏覽器的firstChild
-sibling 指向下一個(gè)節(jié)點(diǎn),類擬于瀏覽器的nextSibling
componentDidUpdate現(xiàn)在只保留兩個(gè)參數(shù),lastProps與lastState
其他變化與完善
React.options添加了大量鉤子,埋點(diǎn)于vnode與組件的各個(gè)生命周期之中。
重構(gòu)findDOMNode,遇到注釋節(jié)點(diǎn)返回null
重寫受控組件(基于事件綁定)與非受控組件(基于屬性監(jiān)控)。
模仿React16,使用stateNode屬性代替舊有的_hostNode與_instance。
React.Children與flattenChilden底層依賴的方法由_flattenChildren改為operateChildren,讓其更具通用性,
flattenChilden更名為fiberizeChildren,產(chǎn)出一個(gè)帶鏈表結(jié)構(gòu)的數(shù)組。
新的架構(gòu):元素虛擬DOM與組件虛擬DOM都有自己的更新對(duì)象,簡(jiǎn)化匹配算法
簡(jiǎn)化Refs模塊
修復(fù)更新虛擬DOM時(shí),namespaceURI丟失的BUG
升級(jí)SSR版本
升級(jí)lib下的ReactTestUtils
測(cè)試case多達(dá)524個(gè)。
使用
npm i anujs
或者使用架手架 https://github.com/Levan-Du/a...
npm i -g anu-cli
webpack.config中如何代替原來(lái)用React編寫的項(xiàng)目
resolve: { alias: { "react": "anujs", "react-dom": "anujs", // 若要兼容 IE 請(qǐng)使用以下配置 // "react": "qreact/dist/ReactIE", // "react-dom": "qreact/dist/ReactIE", // 如果引用了 prop-types 或 create-react-class // 需要添加如下別名 "prop-types": "qreact/lib/ReactPropTypes", "create-react-class": "qreact/lib/createClass" //如果你在移動(dòng)端用到了onTouchTap事件 "react-tap-event-plugin": "anujs/lib/injectTapEventPlugin", } },
歡迎大家為anujs加星星與試用!!!
https://github.com/RubyLouvre...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/92178.html
摘要:這次更新主要是改善了對(duì)焦點(diǎn)的處理及的語(yǔ)法糖的支持優(yōu)化的性能,將原方法內(nèi)部用到函數(shù)與對(duì)象提到全局上來(lái),這就比官方的對(duì)象池技術(shù)更能提升性能。 anu1.2.1這次更新主要是改善了對(duì)焦點(diǎn)的處理及react16.2的Fragment語(yǔ)法糖的支持 優(yōu)化fiberizeChildren的性能,將原方法內(nèi)部用到函數(shù)與對(duì)象提到全局上來(lái),這就比官方的對(duì)象池技術(shù)更能提升性能。 修復(fù)受控組件在textar...
摘要:本版本主要是對(duì)的組件進(jìn)行最后一次修復(fù)工作,除了組件,都支持了。其次它是市場(chǎng)上唯一支持特征的庫(kù)。明年也會(huì)搞一個(gè)狀態(tài)庫(kù),對(duì)異步渲染友好。路由,狀態(tài)庫(kù),等一套東西與一起配合使用。 本版本主要是對(duì)antd3的組件進(jìn)行最后一次修復(fù)工作,除了mention組件,都支持了。 明年的精力就集中異步渲染與后端渲染上。anujs的體積經(jīng)過(guò)幾個(gè)版本的迭代,體積有所增大24kb(沒(méi)有壓縮的情況),但還是遠(yuǎn)遠(yuǎn)少...
摘要:本版本主要添加了的支持解決的問(wèn)題修復(fù)的模塊的的支持添加方法,增強(qiáng)對(duì)第三方的支持使用或者使用架手架中如何代替原來(lái)用編寫的項(xiàng)目若要兼容請(qǐng)使用以下配置如果引用了或需要添加如下別名如果你在移動(dòng)端用到了事件歡迎大家為加星星與試用 本版本主要添加了renderToNodeStream的支持 解決PropTypes的share問(wèn)題 var check = function () { ...
摘要:現(xiàn)在只差一個(gè)組件就完全支持阿里的庫(kù)了。一共跑通個(gè)測(cè)試應(yīng)該是全世界最接近官方的迷你框架了。以后的工作就是把的一些新特性支持了,包括組件返回?cái)?shù)字字符串?dāng)?shù)組,鉤子與。隨著代碼的增加,我會(huì)將一些廢棄的方法拆分出來(lái)。在打包時(shí),根據(jù)你們的喜好進(jìn)行選擇。 anujs現(xiàn)在只差一個(gè)組件(mention)就完全支持阿里的antd UI庫(kù)了。一共跑通346個(gè)測(cè)試, 應(yīng)該是全世界最接近官方React的迷你框架...
摘要:是一款高性能框架,是目前世界上對(duì)兼容最好的迷你庫(kù)。自起,相繼推出,與等新,表明官方正積極由純庫(kù)向大而全的框架演變,它將會(huì)越來(lái)越好用。一些迷你庫(kù)可能跟不上步伐,現(xiàn)在也只有有這實(shí)力跟進(jìn)。 anujs1.3.0是一款高性能React-like框架,是目前世界上對(duì)React16兼容最好的迷你庫(kù)。 自React16起,相繼推出createContext,createPortal, createR...
閱讀 2060·2021-11-22 13:52
閱讀 985·2021-11-17 09:33
閱讀 2716·2021-09-01 10:49
閱讀 2851·2019-08-30 15:53
閱讀 2663·2019-08-29 16:10
閱讀 2437·2019-08-29 11:31
閱讀 1357·2019-08-26 11:40
閱讀 1872·2019-08-26 10:59