高性能迷你React框架 anu1.3.0 发布

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

自React16起,相继推出createContext,createPortal,createRef与createResource等新API,表明官方正积极由纯view库向大而全的框架演变,它将会越来越好用。一些迷你库可能跟不上步伐,现在也只有anujs有这实力跟进。

1.3.0的改进如下:

  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靠近

    • 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

使用

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': '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加星星与试用!!!

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

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...