从Redux一路走来
从何说起呢?开发React应用总是要扯到Redux,那时公司前端还不忙,大把大把的时间用来巩固基础和提升项目架构,虽然刚踏进前端的门,终于在快一个月之后,写下了第一个使用Redux的比较贴合实战的Demo,那一刻真的很激动,感觉前端的大门被我打开了。
然而并没有高兴好久,在拿Redux写一个十分简单的项目的时候,遇到了几个数据断流,丢失的问题。十分挫败,就是那些套路,就是那些思想,为啥数据及时流不动呢?当时公司只有我一个前端,写ReactNative倒是有两老司机,他们却对Redux非常敬重而远之。 终于放弃了,很快用自己HelloWord水平的React重写了一遍。也是这个小项目让自己认识到Redux的学习成本之高,项目结构之繁杂,解决问题之无头绪,真的能淘汰一大批专业人士。
Dva一声响,挑动黄河天下反
现在已经忘却了初次遇见Dva的场景,什么地方?谁牵的线?但这并不妨碍我膜拜一下Dva的作者,话说当Redux让我绝望的时候,我也曾一遍遍地尝试把action reducer 合并,终于由于自己才疏学浅作罢,所以Dva的出现可谓是久旱逢甘霖了。说到这里,你一定十分好奇, 那么Dva的到底有什么特别之处呢?
- 引入命名空间的概念,将Redux的action reducer等复杂的概念进行了分包管理;
- 非常好地封装了Redux和Redux-Saga,API十分友好;
- 大大简化了Redux繁重的代码量,数据流响十分清晰; ...
我呢,最不善于表达好恶了,反正自从使用Dva之后开发效率提升一倍以上,并且再没有跳过数据流的坑。
传送门:Dva官网:dvajs.com/
Umi 只停留在初体验
由于对Dva打交道的时间越来越多,就不免很快就认识了他同胞兄弟:Umi。umi是一个可插拔式的React应用框架,
*** 特性 ***
- 开箱即用,内置 react、react-router 等;
- 类 next.js 且功能完备的路由约定,同时支持配置的路由方式
- 完善的插件体系,覆盖从源码到构建产物的每个生命周期
- 高性能,通过插件支持 PWA、以路由为单元的 code splitting 等
- 支持静态页面导出,适配各种环境,比如中台业务、无线业务、egg、支付宝钱包、云凤蝶等
- 开发启动快,支持一键开启 dll 和 hard-source-webpack-plugin 等
- 一键兼容到 IE9,基于 umi-plugin-polyfills
- 完善的 TypeScript 支持,包括 d.ts 定义和 umi test
- 与 dva 数据流的深入融合,支持 duck directory、model 的自动加载、code splitting 等等
传送门:Umi官网:umijs.com/
当我第一次看到这9条的时候,做了一个决定,用它!虽然那时我才入前端的坑不到两个月,也终于因为这一步迈的太大,狠狠地摔了一跤。
Ant Design Pro与SaaS天生是一对
阿里对React的贡献与推广真的很大,不仅有antdesign这样全面优秀的组件库,Dva的作者也是阿里的(当然Dva并不局限于React)而Pro可以说是阿里的React的全家桶了。因为要开发公司的SaaS管理系统,而又鉴于对构建等高阶知识点的无知,终于向Pro投诚了。
传送门:Ant Design Pro官网:pro.ant.design/index-cn
也从此开始了一段新的跳坑之路。
当然Pro2已经在Umi基础上构建了,这是后话了。今天就扯到这里吧,下一篇开始一点点记录曾经搭过的桥,趟过的河...