标签
note
字数
225 字
阅读时间
1 分钟
组件的 render
react 的 render 触发并不表示真实 dom 的渲染
组件本身的 render 再次触发取决于三点:
- 自身的 state,props 发生改变
- 父组件的 render(子组件不存在 memo 或者 shouldComponentUpdate 等措施
- 作为 provider 的消费者
各种 api 组合
useEffect
- useEffect 在初次 render 后调用,改变 state 后再触发 render
- useLayoutEffect 在初次 render 后同步调用,排在 useEffect 之前
- useEffect 的回调的返回函数,在组件第二次 render 前调用,即组件第一次 render 后卸载
- useLayoutEffect unmount 后紧跟着下一次的 useLayoutEffect update
- (React 会在组件卸载的时候执行清除操作。effect 在每次渲染的时候都会执行。React 会在执行当前 effect 之前对上一个 effect 进行清除
参考
12. useEffect | BFE.dev - prepare for Front-End job interviews.