anujs现在只差一个组件(mention)就完全支持阿里的antd UI库了。一共跑通346个测试, 应该是全世界最接近官方React的迷你框架了。

以后的工作就是把React16的一些新特性支持了,包括组件返回数字、字符串、数组, componentDidCatch钩子与createPortal。

主要更新点:

  1. 抽象出一个Update类,用于封装组件实例上的所有私有数据
  2. 抽象出一个instantiateComponente用于同时实例化有状态与无状态组件,从此再没有 mountStateless, updateStateless方法
  3. 修正checkbox点一下会触发两次onChange的BUG
  4. 添加ReceiveComponent检测机制,如果context,props一样,那么就不会执行receive, render, update等钩子
  5. 修改检测空对象的逻辑
  6. 简化任务调度系统的逻辑.

个人认为要实现异步渲染其实不难的,因为早期的anujs也用到异步。但要一套代码支持两套生命周期系统,还是蛮复杂的。随着代码的增加,我会将一些废弃的方法拆分出来。在打包时,根据你们的喜好进行选择。

使用


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.3发布的更多相关文章

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

    本版本对setState与forceUpdate内部依赖的setStateImpl进行了重构,性能稳定在60pfs之上.并且将组件实例的所有内部方法与属性都改成以___开头. https://gith ...

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

    本版本由于得到业务线同学的大力支持,掀出许多问题,因此改进地方良多,为anujs在完美替换React的道路上前进了不少.现在anujs经测试可以运行于IE7中.至少怎么做可以参看官网,https:// ...

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

    实现对createFactory的支持,优化scheduler与dispose机制,提供ReactShim文件,跑通公司内部4套测试 npm i anujs 或者使用架手架 https://githu ...

  4. 发布高性能迷你React框架anu

    anu, 读作[安努],原意为苏美尔的主神. anu是我继avalon之后又一个新框架(github仓库为https://github.com/RubyLouvre/anu, 欢迎加星与试用) 此框架 ...

  5. 高性能迷你React框架anu在低版本IE的实践

    理想是丰满的,现实是骨感的,react早期的版本虽然号称支持IE8,但是页面总会不自觉切换到奇异模式下,导致报错.因此必须让react连IE6,7都支持,这才是最安全.但React本身并不支持IE6, ...

  6. 迷你MVVM框架 avalonjs 0.95发布

    迷你MVVM框架 avalonjs 0.95发布 本版本最主要的改进是ms-with 深层绑定的实现,至少,avalon1.0所有重要的feature已经开发完毕,之后就是小补小漏,性能优化了. ms ...

  7. 迷你MVVM框架 avalonjs 0.85发布

    迷你MVVM框架 avalonjs 0.85发布 本版本对循环绑定做了巨大改进,感谢@soom, @limodou, @ztz, @Gaubee 提供的大量测试文件. fix scanNodes, 在 ...

  8. 迷你MVVM框架 avalonjs 0.82发布

    迷你MVVM框架 avalonjs 0.82发布 本版本最大的改进是启用全新的parser. parser是用于干什么的?在视图中,我们通过绑定属性实现双向绑定,比如ms-text="fir ...

  9. 迷你MVVM框架 avalonjs 0.8发布

    本版本最重要的特性是引进了AMD规范的模块加载器,亦即原来mass Framework 的并行加载器, 不同之处,它引进了requirejs的xxx!风格的插件机制,比如要延迟到DOM树建完时触发,是 ...

随机推荐

  1. 记一次创建svc代理失败

    在看尚硅谷的k8s视频中,学到ingress代理的时候,由于之前按照视频安装了V1.15.1,后面环境又出了问题,重新安装了 16.1的,为这次失败埋下了伏笔. 教案中的yaml apiVersion ...

  2. CSS实现二维码扫描的效果

    扫描二维码的效果,我原以为不好写呢,后来想了想其实挺简单的,几行代码,走起 <div class="code-bg"> <div class="line ...

  3. window.location.href 兼容性问题 (ie 浏览器下设置失效)

    window.location.href 兼容性问题 (ie 下设置失效) window.location.href = "../index.html" (ie 浏览器失效) wi ...

  4. 实验报告三&&第五周总结

    1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) ① 统计该字符串中字母s出现的次数. ② 统计该字符串中子串“is ...

  5. npm-package-lock.json

    npm notice created a lockfile as package-lock.json. You should commit this file. https://docs.npmjs. ...

  6. nodejs 中 接受前端的数据请求的处理

    前台 ---->  后台 后台要接受 前台的数据,只能通过 http 但是 前台接受 后台的数据有  from   ajax    jsonp nodejs 给我们提供了模块 url 模块,可以 ...

  7. ubuntu用mentohust连接ruijie

    32位  http://download.csdn.net/detail/yan456jie/8720395 64位 http://download.csdn.net/detail/yan456jie ...

  8. wpf进程间通讯

    wpf进程间通讯 在联想智能识别项目中,需要用到进程间通讯,并且是低权限向高权限发送消息.首先声明一下,此项目是wpf的. 首先先简要说一下什么时候会用到进程间通讯,如:在Windows程序中,各个进 ...

  9. Linux_RHEV虚拟化_基础理论&KVM

    目录 目录 RHEV KVM Full 完全虚拟化 PV半虚拟化 Full和PV最大的区别 HVMHardware Virtual Manager硬件辅助虚拟化 Setup KVM Use the v ...

  10. 阶段3 1.Mybatis_12.Mybatis注解开发_1 mybatis注解开发的环境搭建

    注解开发是省了IUserDao.xml这个映射文件里面的配置 环境搭建 首先是packaging标签.输入jar 需要准备一个实体类.生成getter和setter还有toString方法 创建dao ...