React 灵魂 23 问,你能答对几个?

1、setState 是异步还是同步?

  1. 合成事件中是异步
  2. 钩子函数中的是异步
  3. 原生事件中是同步
  4. setTimeout 中是同步

相关链接:你真的理解 setState 吗?:

2、聊聊 react@16.4 + 的生命周期

相关连接:React 生命周期 我对 React v16.4 生命周期的理解

3、useEffect(fn, []) 和 componentDidMount 有什么差异?

useEffect 会捕获 propsstate。所以即便在回调函数里,你拿到的还是初始的 propsstate。如果想得到 “最新” 的值,可以使用 ref

4、hooks 为什么不能放在条件判断里?

setState 为例,在 react 内部,每个组件 (Fiber) 的 hooks 都是以链表的形式存在 memoizeState 属性中:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注