react hooks

517 阅读1分钟

这篇文章 通过数组的方式阐述了 hooks 为什么不能写在 条件语句和循环语句中。但是实际上 hooks 并不是真的是数组的形式组织的。

关于为什么按照顺序书写,这篇文章的这个部分的内容,从源码的角度做了解析。实际上获取 hooks 的值会按照链表的方式获取,因此是有顺序的,所以本质上是不能改变 hooks 的顺序,而 条件或者遍历 有可能会导致顺序变化,所以不能放在条件或者遍历中。

关于 hooks 和 hoc 的区别,可以用如下的图来示意。

hooks vs hoc.jpg