很久没写文章了,始终在奉献开源框架和一些库,也不善于写文章,看我已往的文章,全都是干瘪瘪的,没有半点废话。这次算是写个软文吧,实话实说,也没期待会有多少人看。
链接先放着:https://github.com/redux-model/redux-model
记得2016年刚守业失败进去找工作,找了一家教育类的互联网公司(当初也是)。这家公司用的是es6 + react + redux + webpack的前端架构。而我守业期间,还在写 es3 + jquery,钻研各种构造函数/继承/原型 等一些比拟底层的货色。所以进了新公司,算是解放了吧,有种从2g网络迁徙到4g网络的感觉,仙气飘飘。
那时候的redux,哇哦,先写上3个actionType类型(申请须要3个状态),再写一个action和一个reducer,reducer里写上3个case,别离对应3个actionType。如果Reducer数据比较复杂,那就是各种Object.assign了。所以在写了两个月之后,俨然发现我是不是在始终写模板文件啊?感觉每次都是似曾相识?但也没啥方法,抽也没法抽,毕竟对redux理解不够深刻。我共事的做法是写一个代码片段,每次须要的时候主动生成,而后修修改改完事。
断断续续写了2年左右原生的Redux,直到2018年,Typescript曾经有点纸包不住火了,我也被点燃了,所以尝试了好几次,总想把我的项目转到ts去,于是网上各种搜寻最佳实际案例,每种都尝试过来,各种崎岖。断断续续地,终于在2018年底给安顿上了!
写了第一版的Ts + React + Redux,还算称心,总算都有类型了,数据能够精准追踪。当初是2019年,也快30岁了,你晓得的,人老了,就写不动了,须要正当地偷懒,须要准时上班
心里其实早有疙瘩,这Redux模板是时候给治一治了。于是有了第一版的Redux-Model,目标很明确,干掉actionType,把action和reducer整合在一起,不再写3个文件。所以第一版本的模型,分的很细,一个模型只蕴含一个action,当咱们有多个模型须要作用到同一个reducer时,reducer须要附在其中一个模型里。
现在,Redux-Model曾经升到了8.0了,框架早已稳定下来,一个模型能够写无数个action和一个reducer,数据变动也高深莫测。所以我最后的那个TS我的项目,至多大规模重构了5次的模型,每次都是几百个模型文件变更。真正地稳固应该是在6.0的时候,因为这个版本解决了一个类型主动反推导方面的大难题,这个问题至多花了我3个月的上班时间去冥思和尝试才胜利。那时候,公司里有3个团队曾经曾经在用我的模型框架(包含TS也是我在公司里推广的,当初所有团队都曾经承受TS了),想让他们降级,就必须一个一个帮忙升,还真是有点不好意思了。
付出总是有回报的,当初在去采访那几个团队,对框架的评估是完满
,这不也是我所谋求的吗?
框架虽好,但没有大厂背景,没有集体光环,想推广起来几乎和做梦一样----想的美。推广过一段时间,大部分是在群里,不过换来的都是冷言冷语,什么 dva不香吗?mobx不香吗?
这些框架难道我没尝试过吗,就你晓得香?都是给JS用户设计的,对TS不太敌对,至多还没达到我的要求,所以我才要写这么一个框架,为TS量身定制的Redux框架。七夕那天,我在一个聊了挺久的群发了一个框架链接(加群大半年,总共没发超过5次),当场就被群主骂了,我没法承受,因为他感觉我推广这个是为了找到更好的工作?这种羞辱开源精力
的事,我没法承受,退群了。预先群主还要再私发我一条微信:无利不起早?? 我没有回复,没必要了,不与君子辩论。
不是每个人都为找工作而写代码。趣味是个好货色,高考完结,他人都在网吧打游戏,我在书店背了几段html脚本去网吧运行,给小伙伴看成果。在共事眼里,我就是那种聊到代码就两眼放光的人。而开源,是为了欠缺生态,让大家有更好的抉择。当然了,某种程度也是想证实本人能力ok,码痴不都这样吗?
感兴趣的TS铁粉,举荐应用。JS用户不举荐应用,因为是TS定制的,但欢送star,让更多的人晓得这个库,毕竟我太缺光环了。
好不好用,您去看看Readme,而后demo运行看看就晓得什么叫手中无TS,心中有TS
。我不去吹,因为自信。
https://github.com/redux-model/redux-model