高性能迷你React框架 anu1.2.1 发布

anu1.2.1这次更新主要是改善了对焦点的处理及react16.2的Fragment语法糖的支持

  1. 优化fiberizeChildren的性能,将原方法内部用到函数与对象提到全局上来,这就比官方的对象池技术更能提升性能
  2. 修复受控组件在textarea,radio的BUG,将受控事件放到用户事件后集中执行
  3. 添加焦点系统的支持
  4. 解决多次引入React时,事件系统的option.async有问题的BUG
  5. 简化createPortal的实现
  6. 添加对React16.2的Fragment语法糖的支持(这需要babel7.beta32+才行)
  7. 对antd3的支持情况,还差dropdown与mention组件(dropdown出在rc-animtate,多次切换后,一些选项不见了。mention就是div.contentEidtable=true时,对光标的还原处理问题,已经头绪)

Fragment例子

<!DOCTYPE html>
<html>

<head>
    <Meta charset="utf-8">
    <Meta name="viewport" content="width=device-width">
    <script type='text/javascript' src="./dist/React.js"></script>
    <script src="https://unpkg.com/@babel/standalone/babel.js"></script>
</head>

<body>

    <h1>测试</h1>
    <h1 id='app-root' className="root">

    </h1>
    <script type='text/babel'>
            var check = function () {
                return null;
            };
            check.isrequired = check;
            var PropTypes = React.PropTypes || {
                string: check
            }
            if(!window.ReactDOM){
              window.ReactDOM = React
            }
            var container = document.getElementById("app-root")
  
            function Example() {
                return (
                <>
                    Some text.
                    <h2>A heading</h2>
                    More text.
                    <h2>Another heading</h2>
                    Even more text.
                </>
                );
            }
            ReactDOM.render(<Example />,container);

 
          </script>

</body>

</html>

使用

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': 'anujs/dist/ReactIE',// 'react-dom': 'anujs/dist/ReactIE',// 如果引用了 prop-types 或 create-react-class
        // 需要添加如下别名
        'prop-types': 'anujs/lib/ReactPropTypes','create-react-class': 'anujs/lib/createClass'
        //如果你在移动端用到了onTouchTap事件
        'react-tap-event-plugin': 'anujs/lib/injectTapEventPlugin',}
},

欢迎大家为anujs加星星与试用!!!

https://github.com/RubyLouvre...

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...