• 高性能迷你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...

  • 相关阅读:
    JQuery
    a:hover伪类在ios移动端浏览器内无效的解决方法
    git rebase 过程中遇到冲突该怎么解决?
    git
    vue单文件中scoped样式如何穿透?
    微信小程序-怎么获取当前页面的url
    es6 class 中 constructor 方法 和 super
    如何将svg图标快速转换成字体图标?
    JavaWeb三大组件之一Filter知识总结
    Session的引入以及Cookie的不足
  • 原文地址:https://www.cnblogs.com/datiangou/p/10161775.html
Copyright © 2020-2023  润新知