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

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

相关文章

导入moment 使用方式 年月日,时分秒 星期几 相对时间 7天后 2小时后 明天 将毫秒转换成年月日
@ 一、前言 为什么介绍redux-actions呢? 第一次见到主要是接手公司原有的项目,发现有之前的大佬在处理...
十大React Hook库 原文地址:https://dev.to/bornfightcompany/top-10-react-hook-libraries-4065 原文...
React生命周期 React的生命周期从广义上分为挂载、渲染、卸载三个阶段,在React的整个生命周期中提供很...
React虚拟DOM的理解 Virtual DOM是一棵以JavaScript对象作为基础的树,每一个节点可以将其称为VNode,用...
React中JSX的理解 JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ....