实际上是在外部添加了一个全局数组,不会随着函数组件的销毁而销毁,创建而创建
hook必须写在顶层
1.初始化
2.第一次渲染
调用useState时,第一次渲染,会将一个set函数放入setters数组中,并且把初始state放入到state数组中.
3.后续渲染
每一次重新渲染,光标都会重新设为0,然后从对应的数组中读取状态和set函数
4.事件处理
每次调用set函数时,set函数将会修改state数组中对应的状态值,这种对应的关系是通过cursor光标来确定的
让时间为你证明