React hooks 学习体会
又经过一段时间的学习和开发对React有了更加深刻的理解,领悟了相较于Vue更多的优势。应为语法更接近原生的关系,class在使用extends时很方便,可以把很多相近的页面组件的共通部分写成一个class专门用于继承,可以大大缩短开发时间。而这点在Vue上也有对应的实现mixin,但可惜的是官方文档几乎没有说明,也不清楚具体的内在机制。
还有最近的两个重磅更新懒加载的官方实现React.lazy + suspense 实现。以及react-hooks
react hooks 的实际效果让我想起了 meteor 中的动态变量,动态变量本身不依赖组件存在,而且始终具备动态属性。可以用专门的订阅器 watch 其变化。
当然区别还是很大的,hooks的设计初衷不是方便我们在组件之间传递它的。
我对官方介绍视频hooks的开发者Dan的最后一段话特别有感触。原文大意:React的logo是一个原子,似乎是想表达React对web开发的解构,万物由原子构成,而一个web项目则是由无数个组件构成。组件即是web的原子。就像科学家原先以为原子就是世间的最小单位,之后又发现了电子、中子。hooks即是React的电子,只是之前我们对其的理解不够深,看到是state、life-cycle之类的表象,剥去表象之后才发现其真实的样子,以及其是如何影响原子的特性的。看看react logo上那围绕中子的轨道,也许那就是hooks。
React hooks 学习体会