Skip to content
标签
note
字数
225 字
阅读时间
1 分钟

组件的 render

react 的 render 触发并不表示真实 dom 的渲染

组件本身的 render 再次触发取决于三点:

  1. 自身的 state,props 发生改变
  2. 父组件的 render(子组件不存在 memo 或者 shouldComponentUpdate 等措施
  3. 作为 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.

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写