有一个迷你 react 框架叫什么? 下面本篇文章就来给大家介绍 2 款迷你 react 框架. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
anu
anujs 是一个高级兼容 React16 的迷你 React 框架, 它兼容 React16.3.0 的 99% 接口, 跑通了官方 788 个 case, 支持 React 生态圈的 99%的组件与 UI 库.
随着 react 的流行, 针对其改良方案也逐渐增多起来. 有的在体积上进行优化, 有的在性能上进行优化, 有的在两者上做努力. anu 就是最后一种情况.
anu 是解决移动端打包过大的问题而诞生的. 内部名字叫 qreact, 它早期是基于 preact 改进来的, 已经在公司业务上使用了.
preact, react-lite 是现在比较流行的 react-like 框架. 当然也有人提到 inferno, 但 inferno 要改动过多. 参考这些框架, 我的迷你 react 框架 anu 走得更远, 完全兼容 react-redux, react-router, 官方 Chrome 调试工具. 性能上也非常优秀.
anujs 优势
支持 React16 的各种新功能, Fragment, componentDidCatch, creactContext, createRef, forwardRef...
跑通官方近 800 多个单元测试 (其他迷你库都无法跑官方测试)
支持 React 全家桶 (react-redux, react-router-dom, react-router-redux, react-lazy-load, react-hot-loader...)
支持 99%的 antd 组件 (antd 为中国最有名的 React UI 库)
QReact
QReact 是去哪儿网推出一个迷你 React 框架, 让 React 在业务线上更具通用价值. 众所周知, React 一直存在体积过大的诟病, 集成了许多在线上环境不需要功能. YMFE 团队在熟读其源码的基础上, 去芜存精, 重新实现了 React 所有公开接口, 体积只有 React 的约三分之一, 从而解决它在移动端上加载过慢的问题. 由于没有使用高级 API, 因此只需在 webpack / uglify 上修改配置, 便能运用于 IE8 上, 从而解决 PC 端同学无法在 IE 8 下使用 React 的问题.
对比 preact/react-lite,QReact 的优势在于事件系统更为完善, 更具扩展性. 像 mouseenter/mouseleave,focus/blur 等不冒泡的事件, preact 存在暇疵.
QReact 也实现了官方 react/lib 下的许多模块, 这些模块可能被 RN 引用, 这也为 QReact 支持三端合一的 QRN-Web 做技术支撑.
QReact 与 React 完全兼容, 具有高度一致的 API 和行为.
QReact 包含了 react 及 react-dom 的全部功能, 同时有着更小的体积, QReact@2.1.5 的体积为 (minified: 34.71KB gzipped : 12.95KB), 作为对比, react@16.2.0 + react-dom@16.2.0 的体积则大了很多 (minified: 5.1KB + 88.7KB = 93.8KB gzipped: 2.2KB + 28.3KB = 30.5KB).
QReact 支持 IE 6 - IE 8, 详细信息请参见在低版本 IE 下使用 ".
为了减小体积 没有 实现 React.PropTypes, 但这并不意味着代码中使用了 PropTypes 就会报错, 只是不起作用而已.
更多 react 相关知识, 可访问 react 教程 https://www.html.cn/qa/react/ 栏目!!
来源: http://www.css88.com/qa/react/14374.html