为什么不能在if里使用hooks?*
currentFiber 的 memoizedState 缓存 hooks 链表的信息,一旦在条件语句中声明 hooks,函数组件更新时,hooks 链表结构被破坏, 和 workInProgress 不一致,如果涉及到读取 state 等操作,就会发生异常。因此不能在条件、循环语句中使用 hooks。
currentFiber 的 memoizedState 缓存 hooks 链表的信息,一旦在条件语句中声明 hooks,函数组件更新时,hooks 链表结构被破坏, 和 workInProgress 不一致,如果涉及到读取 state 等操作,就会发生异常。因此不能在条件、循环语句中使用 hooks。