高性能迷你React框架 anu1.3.0 發佈

anujs1.3.0是一款高性能React-like框架,是目前世界上對React16兼容最好的迷你庫。node

自React16起,相繼推出createContext,createPortal, createRef與createResource等新API,代表官方正積極由純view庫向大而全的框架演變,它將會愈來愈好用。一些迷你庫可能跟不上步伐,如今也只有anujs有這實力跟進。react

1.3.0的改進以下:webpack

  1. 支持React16.3的createContext new API
  2. 添加大量React.Fragment測試,修正一些邊緣的BUG
  3. 升級diff機制,由新舊vnode進行比較,改爲fiber與新vnode進行比較,用新vnode的數據更新fiber與視圖
  4. 添加input[type=search]的onChange事件支持
  5. 修正傳送門在antd3.0的一個邊緣BUG(重複插入兩次,致使文本節點消失)
  6. 屬性名與方法名大改動,與React16的Fiber靠近git

    • vnode.vtype --> fiber.tag
    • instance.__isStateless --> fiber._isStateless
    • updater --> fiber
    • updater.vnode --> fiber._reactInternalFiber
    • updater.willReceive --> fiber._willReceive
    • updater.children --> fiber._children
    • updater.isMounted() --> fiber._isMounted()
    • updater.insertCarrier --> fiber._mountCarrier
    • updater.insertPoint --> fiber._mountPoint
    • updater.parentContext --> fiber._unmaskedContext
    • getChildContext --> getUnmaskedContext
    • getContextByTypes --> 爲getMaskedContext
    • CompositeUpdater.js --> ComponentFiber.js`
    • DOMUpdater.js --> HostFiber.js

clipboard.png

使用github

npm i anujs

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

npm i -g anu-cli

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

resolve: {
   alias: {
      'react': 'anujs',
      'react-dom': 'anujs',
        // 若要兼容 IE 請使用如下配置
        // 'react': 'anujs/dist/ReactIE',
        // 'react-dom': 'anujs/dist/ReactIE',
    
        // 若是引用了 prop-types 或 create-react-class
        // 須要添加以下別名
        'prop-types': 'anujs/lib/ReactPropTypes',
        'create-react-class': 'anujs/lib/createClass'
        //若是你在移動端用到了onTouchTap事件
        'react-tap-event-plugin': 'anujs/lib/injectTapEventPlugin',  
   }
},

歡迎你們爲anujs加星星與試用!!!antd

https://github.com/RubyLouvre...框架

相關文章
相關標籤/搜索