资讯专栏INFORMATION COLUMN

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

lemanli / 525人阅读

摘要:在兼容官方比以往更进一步,一共跑通套测试,其中套是官方的测试。在机制,机制,虚拟更新机制,传递机制,生成策略上大大重构。是有史以来最多的更新级。但工作还没有完成,只是怕更新太多做了一次短暂的休整。

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

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

主要更新点:

修正 onChange 事件

重构 diffProps 模块的实现

支持组件的isMounted方法

添加beforePatch , afterPatch钩子

添加lib/ReactInputSelection.js

统一所有操作虚拟DOM的方法的参数(mountXXX, updateXXX, alignXXX系列)

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

使用全新的方式获取元素的命名空间

上线全新的节点排序算法(diffChildren)

renderByAnu在全局渲染后应该置空CurrentOwner.cur, 防止影响其他虚拟DOM

完善createStringRef方法,应该能抛错与删除无用数据

上线全新的任务调度系统

重构unmountComponentAtNode方法

添加对两个虚拟DOM的引用都相同的情况下,检测子组件的contextType决定是否更新的策略

无状态组件支持模块模式(返回一个带生命周期钩子的纯对象,这些方法会像有状态组件那样被调用)

放松shouldComponentUpdate的限制,返回任何假值都阻止子孙更新

修正ref的更新方式

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88823.html

相关文章

  • 2017-10-01 前端日报

    2017-10-01 前端日报 精选 网页保存为图片及高清截图的优化方法前端最佳实践(一)——DOM操作Vue 2.0学习笔记:v-bindReact Router v4 之代码分割:从放弃到入门js实用的十个小技巧Netflix/falcor: A JavaScript library for efficient data fetchinglllyasviel/style2paints: ske...

    silencezwm 评论0 收藏0
  • 性能迷你React框架 anu1.3.0 发布

    摘要:是一款高性能框架,是目前世界上对兼容最好的迷你库。自起,相继推出,与等新,表明官方正积极由纯库向大而全的框架演变,它将会越来越好用。一些迷你库可能跟不上步伐,现在也只有有这实力跟进。 anujs1.3.0是一款高性能React-like框架,是目前世界上对React16兼容最好的迷你库。 自React16起,相继推出createContext,createPortal, createR...

    Flands 评论0 收藏0
  • 性能迷你React框架anujs1.1.3发布

    摘要:现在只差一个组件就完全支持阿里的库了。一共跑通个测试应该是全世界最接近官方的迷你框架了。以后的工作就是把的一些新特性支持了,包括组件返回数字字符串数组,钩子与。随着代码的增加,我会将一些废弃的方法拆分出来。在打包时,根据你们的喜好进行选择。 anujs现在只差一个组件(mention)就完全支持阿里的antd UI库了。一共跑通346个测试, 应该是全世界最接近官方React的迷你框架...

    hosition 评论0 收藏0
  • 性能迷你React框架 anu1.2.1 发布

    摘要:这次更新主要是改善了对焦点的处理及的语法糖的支持优化的性能,将原方法内部用到函数与对象提到全局上来,这就比官方的对象池技术更能提升性能。 anu1.2.1这次更新主要是改善了对焦点的处理及react16.2的Fragment语法糖的支持 优化fiberizeChildren的性能,将原方法内部用到函数与对象提到全局上来,这就比官方的对象池技术更能提升性能。 修复受控组件在textar...

    phpmatt 评论0 收藏0
  • 性能迷你React框架 anu1.2.2 发布

    摘要:本版本主要是对的组件进行最后一次修复工作,除了组件,都支持了。其次它是市场上唯一支持特征的库。明年也会搞一个状态库,对异步渲染友好。路由,状态库,等一套东西与一起配合使用。 本版本主要是对antd3的组件进行最后一次修复工作,除了mention组件,都支持了。 明年的精力就集中异步渲染与后端渲染上。anujs的体积经过几个版本的迭代,体积有所增大24kb(没有压缩的情况),但还是远远少...

    wanghui 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<