理想是丰满的,现实是骨感的,react早期的版本虽然号称支持IE8,但是页面总会不自觉切换到奇异模式下,导致报错.因此必须让react连IE6,7都支持,这才是最安全.但React本身并不支持IE6,7,因此anu使有用武之地了. https://github.com/RubyLouvre/anu 但光是anu不行,兼容IE是一个系统性的工程,涉及到打包压缩,各种polyfill垫片. 首先说一下anu如何支持低版本浏览器.anu本身没有用到太高级的API,像Object.definePrope…
anu, 读作[安努],原意为苏美尔的主神. anu是我继avalon之后又一个新框架(github仓库为https://github.com/RubyLouvre/anu, 欢迎加星与试用) 此框架的创立之意有三: 提升性能, 虽然React的性能相对于传统的MVVM框架是很厉害了,但近几年冒出来的diff算法比官方版更优秀,官方版积重难返,很难短时期吸收这些成果.anu则小船好调头,第一时间收纳其中.性能是王道.天下武功,唯快不破. 压缩体积. React+React-dom加起来有三万多行…
本版本对setState与forceUpdate内部依赖的setStateImpl进行了重构,性能稳定在60pfs之上.并且将组件实例的所有内部方法与属性都改成以___开头. https://github.com/RubyLouvre/anu disabled的元素不能触发点击事件 修正mouseenter/mouseleave在IE6-8中的BUG,涉及到relatedTarget的正确获取与LCA处理 简化alignVnode的逻辑,减少插入列队的生成 重构setStateImpl,实现以列…
本版本由于得到业务线同学的大力支持,掀出许多问题,因此改进地方良多,为anujs在完美替换React的道路上前进了不少.现在anujs经测试可以运行于IE7中.至少怎么做可以参看官网,https://rubylouvre.github.io/anu/, 而它在高级浏览器上使用了requestAnimationFrame,性能更进一步,真实反映本文的标题,又快又小.体积比之前更少了. event.originalEvent更名为 event.nativeEvent 修正polyfill中forEa…
anujs现在只差一个组件(mention)就完全支持阿里的antd UI库了.一共跑通346个测试, 应该是全世界最接近官方React的迷你框架了. 以后的工作就是把React16的一些新特性支持了,包括组件返回数字.字符串.数组, componentDidCatch钩子与createPortal. 主要更新点: 抽象出一个Update类,用于封装组件实例上的所有私有数据 抽象出一个instantiateComponente用于同时实例化有状态与无状态组件,从此再没有 mountStatele…
实现对createFactory的支持,优化scheduler与dispose机制,提供ReactShim文件,跑通公司内部4套测试 npm i anujs 或者使用架手架 https://github.com/Levan-Du/anu-cli npm i -g anu-cli…
虽然过了兼容IE6的噩梦时代,IE依旧阴魂不散,因为你可能还要兼容IE9.在ES6已经普及的今天,用ES6写react已经成了标配.但是babel编译的js语法,由于某些不规范的写法,可能在IE9下不能正确解释,很容易导致白屏.本文记录如下 起因 在准备提测的那天,顺便打开IE9看一眼(注意,这里是原生IE9 ,不是用IE11模拟的IE9),OMG! 排查后发现,原来是因为构造函数中使用了this.简写如下 class Child extends React.Component {   cons…
https://blog.csdn.net/a324539017/article/details/52824189…
[本文源址:http://blog.csdn.net/q1056843325/article/details/54729657 转载请加入该地址] 明天就是除夕了 预祝大家新春快乐 [ ]~( ̄▽ ̄)~* 天天饭局搞得我是身心疲惫= = 所以更新比較慢 今天想跟大家分享的就是这个大名鼎鼎的React框架 简单介绍 React是近两年非常流行的框架 流行到什么程度呢? 我看了一下Github上的数据 React达到了5w8+的star 在JavaScript中star排名第4 受欢迎程度可见一斑…
一.  为什么要用UI 框架 统一了样式交互动画 . Ui框架会对样式,交互动画进行统一,保证了系统风格完整统一,不像拼凑起来的. 兼容性 ,不是去兼容IE 6 7 8那些低版本浏览器,而是对主流的标准浏览器的兼容性,举个例子:一个checkbox复选框在IE上显示一个样式,谷歌上又是一个样子,火狐上又是一个样子,这个时候框架开发者们就会对它的样式进行统一,并兼容各种小问题. 快速性 ,快速性很好理解,就是快速高效开发的意思,因为各种ui框架会封装很多我们常用的各种组件,这样我们就不用重复的去开…