前段时间一直在学语言,发现React基本都忘光了,Vue也忘记了不少,一部分原因是在阿里工作用的是魔改的React框架,于是就找出React的文档重新学习。
这次重学React给我带来了震撼,这震撼并不是来源于React开始摒弃类式组件并以Hook为核心,而是来源于React的哲学。“ React 可以改变你对可见设计和应用构建的思考 ”。
第一次接触React哲学是2017年,也是从其官方文档看到的。当时看了没啥感受,毫无收获,觉得不就一个前端框架么,咋还和哲学搭上关系了。觉得React写前端没有Vue来得爽。当然,今天我依然觉得,对于大部分团队来说,Vue是个很不错的选择,学习曲线平滑并且对团队的容错率更高,还可以降低开发成本。
这些年做得项目多了,也渐渐发现有些项目使用Vue后可能会带来灾难性后果。这并不是Vue的原因,Vue本身是个非常优秀的前端框架,而是团队的原因。Vue最为著名的特性是响应式和双向绑定,表单字段用v-model进行双绑,极大降低了开发成本。但若某个表单页面非常复杂,需要使用Vuex这样的状态管理库时,就会出现矛盾的地方了。Vuex是单向数据流的,与表单双向绑定结合时需要进行额外处理,处理不好的话,项目可能会毁掉的。当然,也不是说React天生的单向数据流就没有这种风险,使用的基于React的UI框架若增加了双向绑定特性,依然会有和Vue一样的问题。
也就是说无论是Vue还是React,是否能用好,都和开发者自身有关系。“ React 可以改变你对可见设计和应用构建的思考 ” ,推荐Vue的开发者也学习下React哲学这一块,对于使用Vue开发超大型表单应用是非常有帮助的,会思考使用Vue时该何时做出舍弃双向绑定的选择。
2017年的我看了React哲学后,毫无收获。原因是经历不够,没有经历过超大型表单应用或者其它复杂应用,自然无法领会。另外,编程的经验也需要时间来沉淀和酝酿,然后突然某个契机有所顿悟。然而,除了个别国家,全球程序员存在的年龄问题,可能对很多程序员来说没有顿悟的机会了。
不管怎样,要想提高编程水平,不光要“学而时习之”,还要“习而时学之”。在做了很多项目后,停下来重新看看框架文档和优秀书籍,说不定就会给你顿悟与启发。
笔记与思考