高性能迷你React框架anujs1.1.2发布

发布时间:2019-06-24 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了高性能迷你React框架anujs1.1.2发布脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

anujs1.1.2在兼容官方React比以往更进一步,一共跑通293套测试,其中179套是官方React的测试。

在ref机制,owner机制,虚拟@L_512_2@更新机制,context传递机制,SVG生成策略上大大重构。是有史以来最多的更新级。但工作还没有完成,只是怕更新太多做了一次短暂的休整。

主要更新点:

  1. 修正 onChange 事件
  2. 重构 diffProps 模块的实现
  3. 支持组件的ismounted方法
  4. 添加beforePatch , afterPatch钩子
  5. 添加lib/ReactInputSelection.js
  6. 统一所有操作虚拟DOM的方法的参数(mountXXX, updateXXX, alignXXX系列)

1 第一个参数为旧真实DOM或旧虚拟dom
2 第二个参数为新虚拟DOM
3 第三个参数为父虚拟DOM(可能不存在,那么后面直接跟第四,第五)
4 第四个参数为上下文对象
5 第五个参数为任务调度系系统的列队

  1. 使用全新的方式获取元素的命名空间
  2. 上线全新的节点排序算法(diffchildren)
  3. renderByAnu在全局渲染后应该置空currentOwner.cur, 止影响其他虚拟DOM
  4. 完善createstringRef方法,应该能抛错与删除无用数据
  5. 上线全新的任务调度系统
  6. 重构unmountcomponentAtNode方法
  7. 添加对两个虚拟DOM的引用都相同的情况下,检测子组件的contextTyPE决定是否更新的策略
  8. 无状态组件支持模块模式(返回一个带生命周期钩子的纯对象,这些方法会像有状态组件那样被调用)
  9. 放松shouldComponentUpdate的限制,返回任何假值都阻止子孙更新
  10. 修正ref的更新方式
  11. shouldComponentUpdate返回假值时,当前的虚拟DOM应该吸纳旧虚拟DOM的有用信息

使用

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...

脚本宝典总结

以上是脚本宝典为你收集整理的高性能迷你React框架anujs1.1.2发布全部内容,希望文章能够帮你解决高性能迷你React框架anujs1.1.2发布所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。