摘要:在兼容官方比以往更進(jìn)一步,一共跑通套測(cè)試,其中套是官方的測(cè)試。在機(jī)制,機(jī)制,虛擬更新機(jī)制,傳遞機(jī)制,生成策略上大大重構(gòu)。是有史以來最多的更新級(jí)。但工作還沒有完成,只是怕更新太多做了一次短暫的休整。
anujs1.1.2在兼容官方React比以往更進(jìn)一步,一共跑通293套測(cè)試,其中179套是官方React的測(cè)試。
在ref機(jī)制,owner機(jī)制,虛擬DOM更新機(jī)制,context傳遞機(jī)制,SVG生成策略上大大重構(gòu)。是有史以來最多的更新級(jí)。但工作還沒有完成,只是怕更新太多做了一次短暫的休整。
主要更新點(diǎn):
修正 onChange 事件
重構(gòu) diffProps 模塊的實(shí)現(xiàn)
支持組件的isMounted方法
添加beforePatch , afterPatch鉤子
添加lib/ReactInputSelection.js
統(tǒng)一所有操作虛擬DOM的方法的參數(shù)(mountXXX, updateXXX, alignXXX系列)
1 第一個(gè)參數(shù)為舊真實(shí)DOM或舊虛擬DOM
2 第二個(gè)參數(shù)為新虛擬DOM
3 第三個(gè)參數(shù)為父虛擬DOM(可能不存在,那么后面直接跟第四,第五)
4 第四個(gè)參數(shù)為上下文對(duì)象
5 第五個(gè)參數(shù)為任務(wù)調(diào)度系系統(tǒng)的列隊(duì)
使用全新的方式獲取元素的命名空間
上線全新的節(jié)點(diǎn)排序算法(diffChildren)
renderByAnu在全局渲染后應(yīng)該置空CurrentOwner.cur, 防止影響其他虛擬DOM
完善createStringRef方法,應(yīng)該能拋錯(cuò)與刪除無用數(shù)據(jù)
上線全新的任務(wù)調(diào)度系統(tǒng)
重構(gòu)unmountComponentAtNode方法
添加對(duì)兩個(gè)虛擬DOM的引用都相同的情況下,檢測(cè)子組件的contextType決定是否更新的策略
無狀態(tài)組件支持模塊模式(返回一個(gè)帶生命周期鉤子的純對(duì)象,這些方法會(huì)像有狀態(tài)組件那樣被調(diào)用)
放松shouldComponentUpdate的限制,返回任何假值都阻止子孫更新
修正ref的更新方式
shouldComponentUpdate返回假值時(shí),當(dāng)前的虛擬DOM應(yīng)該吸納舊虛擬DOM的有用信息
使用
npm i anujs
或者使用架手架 https://github.com/Levan-Du/a...
npm i -g anu-cli
webpack.config中如何代替原來用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://systransis.cn/yun/88823.html
2017-10-01 前端日?qǐng)?bào) 精選 網(wǎng)頁保存為圖片及高清截圖的優(yōu)化方法前端最佳實(shí)踐(一)——DOM操作Vue 2.0學(xué)習(xí)筆記:v-bindReact Router v4 之代碼分割:從放棄到入門js實(shí)用的十個(gè)小技巧Netflix/falcor: A JavaScript library for efficient data fetchinglllyasviel/style2paints: ske...
摘要:是一款高性能框架,是目前世界上對(duì)兼容最好的迷你庫。自起,相繼推出,與等新,表明官方正積極由純庫向大而全的框架演變,它將會(huì)越來越好用。一些迷你庫可能跟不上步伐,現(xiàn)在也只有有這實(shí)力跟進(jìn)。 anujs1.3.0是一款高性能React-like框架,是目前世界上對(duì)React16兼容最好的迷你庫。 自React16起,相繼推出createContext,createPortal, createR...
摘要:現(xiàn)在只差一個(gè)組件就完全支持阿里的庫了。一共跑通個(gè)測(cè)試應(yīng)該是全世界最接近官方的迷你框架了。以后的工作就是把的一些新特性支持了,包括組件返回?cái)?shù)字字符串?dāng)?shù)組,鉤子與。隨著代碼的增加,我會(huì)將一些廢棄的方法拆分出來。在打包時(shí),根據(jù)你們的喜好進(jìn)行選擇。 anujs現(xiàn)在只差一個(gè)組件(mention)就完全支持阿里的antd UI庫了。一共跑通346個(gè)測(cè)試, 應(yīng)該是全世界最接近官方React的迷你框架...
摘要:這次更新主要是改善了對(duì)焦點(diǎn)的處理及的語法糖的支持優(yōu)化的性能,將原方法內(nèi)部用到函數(shù)與對(duì)象提到全局上來,這就比官方的對(duì)象池技術(shù)更能提升性能。 anu1.2.1這次更新主要是改善了對(duì)焦點(diǎn)的處理及react16.2的Fragment語法糖的支持 優(yōu)化fiberizeChildren的性能,將原方法內(nèi)部用到函數(shù)與對(duì)象提到全局上來,這就比官方的對(duì)象池技術(shù)更能提升性能。 修復(fù)受控組件在textar...
摘要:本版本主要是對(duì)的組件進(jìn)行最后一次修復(fù)工作,除了組件,都支持了。其次它是市場上唯一支持特征的庫。明年也會(huì)搞一個(gè)狀態(tài)庫,對(duì)異步渲染友好。路由,狀態(tài)庫,等一套東西與一起配合使用。 本版本主要是對(duì)antd3的組件進(jìn)行最后一次修復(fù)工作,除了mention組件,都支持了。 明年的精力就集中異步渲染與后端渲染上。anujs的體積經(jīng)過幾個(gè)版本的迭代,體積有所增大24kb(沒有壓縮的情況),但還是遠(yuǎn)遠(yuǎn)少...
閱讀 2324·2021-11-22 12:01
閱讀 2000·2021-11-12 10:34
閱讀 4526·2021-09-22 15:47
閱讀 2837·2019-08-30 15:56
閱讀 2870·2019-08-30 15:53
閱讀 2411·2019-08-30 13:53
閱讀 3387·2019-08-29 15:35
閱讀 3132·2019-08-29 12:27