成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

高性能迷你React框架 anu1.2 發(fā)布,支持React16的三大特性

whidy / 2030人閱讀

摘要:支持的三大特征,組件支持返回數(shù)組,傳送門與錯誤邊界。下面是新支持的特性的第一個參數(shù)可以是數(shù)組,字符串,數(shù)字,。有了它,成為對錯誤處理最完善的框架。虛擬的結(jié)構(gòu)發(fā)生變化,每個節(jié)點都有等描述自己位置的屬性。

anu已經(jīng)有兩個月沒有發(fā)布了,經(jīng)過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. 因為內(nèi)部變動非常多,受控組件與非受控組件那塊完全重寫,只差一個case沒有跑通(這部分的測試代碼有2000多行)。支持React1.6?的三大特征,組件支持返回數(shù)組,傳送門與錯誤邊界。

下面是新支持的React16特性

ReactDOM.render的第一個參數(shù)可以是數(shù)組,字符串,數(shù)字,undefined, null, true, false。

React組件的render方法可以返回數(shù)組,字符串,數(shù)字,undefined, null, true, false.

對于undefined, null, true, false, React15是生成一個占位用的注釋節(jié)點(nodeType為8),現(xiàn)在什么也不生成,完全靠算法實現(xiàn)對齊。

相鄰的數(shù)字與字任串會合并成一個文本節(jié)點,比如說

xxx{111}yyy
在React15中,div里面有3個文本節(jié)點,兩個分界用的注釋點,現(xiàn)在只有一個文本節(jié)點,其nodeValue為xxx111yyy,用于真實DOM的減少,性能大幅提升。

setState/forceUpdate的回調(diào)函數(shù)以前總在更新周期后才執(zhí)行,現(xiàn)在提前到每個組件的componentDidMount/Update后執(zhí)行。

生命周期順序改變,先A.componentWillMount->B.componentWillUnmount->A.compountDidMount.

createPortal的事件冒泡是基于虛擬DOM進行冒泡的

跑通錯誤邊界的1900多行的測試,這里的規(guī)則非常多,有空才詳細介紹。有了它,React16成為對錯誤處理最完善的框架。

虛擬DOM的結(jié)構(gòu)發(fā)生變化,每個節(jié)點都有return, child, sibling等描述自己位置的屬性。
-return 指向父節(jié)點,類似于瀏覽器的parentNode, 取代之前的_hostParent
-child 指向第一個子節(jié)點,類似于瀏覽器的firstChild
-sibling 指向下一個節(jié)點,類擬于瀏覽器的nextSibling

componentDidUpdate現(xiàn)在只保留兩個參數(shù),lastProps與lastState

其他變化與完善

React.options添加了大量鉤子,埋點于vnode與組件的各個生命周期之中。

重構(gòu)findDOMNode,遇到注釋節(jié)點返回null

重寫受控組件(基于事件綁定)與非受控組件(基于屬性監(jiān)控)。

模仿React16,使用stateNode屬性代替舊有的_hostNode與_instance。

React.Children與flattenChilden底層依賴的方法由_flattenChildren改為operateChildren,讓其更具通用性,
flattenChilden更名為fiberizeChildren,產(chǎn)出一個帶鏈表結(jié)構(gòu)的數(shù)組

新的架構(gòu):元素虛擬DOM與組件虛擬DOM都有自己的更新對象,簡化匹配算法

簡化Refs模塊

修復(fù)更新虛擬DOM時,namespaceURI丟失的BUG

升級SSR版本

升級lib下的ReactTestUtils

測試case多達524個。

使用

npm i anujs

或者使用架手架 https://github.com/Levan-Du/a...

npm i -g anu-cli

webpack.config中如何代替原來用React編寫的項目

resolve: {
   alias: {
      "react": "anujs",
      "react-dom": "anujs",
        // 若要兼容 IE 請使用以下配置
        // "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"
        //如果你在移動端用到了onTouchTap事件
        "react-tap-event-plugin": "anujs/lib/injectTapEventPlugin",  
   }
},

歡迎大家為anujs加星星與試用?。?!

https://github.com/RubyLouvre...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92178.html

相關(guān)文章

  • 性能迷你React框架 anu1.2.1 發(fā)布

    摘要:這次更新主要是改善了對焦點的處理及的語法糖的支持優(yōu)化的性能,將原方法內(nèi)部用到函數(shù)與對象提到全局上來,這就比官方的對象池技術(shù)更能提升性能。 anu1.2.1這次更新主要是改善了對焦點的處理及react16.2的Fragment語法糖的支持 優(yōu)化fiberizeChildren的性能,將原方法內(nèi)部用到函數(shù)與對象提到全局上來,這就比官方的對象池技術(shù)更能提升性能。 修復(fù)受控組件在textar...

    phpmatt 評論0 收藏0
  • 性能迷你React框架 anu1.2.2 發(fā)布

    摘要:本版本主要是對的組件進行最后一次修復(fù)工作,除了組件,都支持了。其次它是市場上唯一支持特征的庫。明年也會搞一個狀態(tài)庫,對異步渲染友好。路由,狀態(tài)庫,等一套東西與一起配合使用。 本版本主要是對antd3的組件進行最后一次修復(fù)工作,除了mention組件,都支持了。 明年的精力就集中異步渲染與后端渲染上。anujs的體積經(jīng)過幾個版本的迭代,體積有所增大24kb(沒有壓縮的情況),但還是遠遠少...

    wanghui 評論0 收藏0
  • 性能迷你React框架 anu1.2.3 發(fā)布

    摘要:本版本主要添加了的支持解決的問題修復(fù)的模塊的的支持添加方法,增強對第三方的支持使用或者使用架手架中如何代替原來用編寫的項目若要兼容請使用以下配置如果引用了或需要添加如下別名如果你在移動端用到了事件歡迎大家為加星星與試用 本版本主要添加了renderToNodeStream的支持 解決PropTypes的share問題 var check = function () { ...

    JasinYip 評論0 收藏0
  • 性能迷你React框架anujs1.1.3發(fā)布

    摘要:現(xiàn)在只差一個組件就完全支持阿里的庫了。一共跑通個測試應(yīng)該是全世界最接近官方的迷你框架了。以后的工作就是把的一些新特性支持了,包括組件返回數(shù)字字符串數(shù)組,鉤子與。隨著代碼的增加,我會將一些廢棄的方法拆分出來。在打包時,根據(jù)你們的喜好進行選擇。 anujs現(xiàn)在只差一個組件(mention)就完全支持阿里的antd UI庫了。一共跑通346個測試, 應(yīng)該是全世界最接近官方React的迷你框架...

    hosition 評論0 收藏0
  • 性能迷你React框架 anu1.3.0 發(fā)布

    摘要:是一款高性能框架,是目前世界上對兼容最好的迷你庫。自起,相繼推出,與等新,表明官方正積極由純庫向大而全的框架演變,它將會越來越好用。一些迷你庫可能跟不上步伐,現(xiàn)在也只有有這實力跟進。 anujs1.3.0是一款高性能React-like框架,是目前世界上對React16兼容最好的迷你庫。 自React16起,相繼推出createContext,createPortal, createR...

    Flands 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<