如何防止 React 组件的无效渲染

21 阅读1分钟
  • 拆分组件,使用 useMemo useCallback React.memo
  • 保持 key 的稳定,避免变化触发的重渲染
  • 不涉及 ui 的变量不要放在 state 里

useMemo 用于变量,支持传入依赖数组,只有当依赖数组中的变量发生变化时,该变量才会发生变化 useCallback 用于函数,同 useMemo React.memo 用于组件,第一个参数传入组件,第二个参数为比较器函数(比较器函数可以理解为,让 react 判断什么时候应该更新组件)

第二个参数可不填,如果不填,会默认使用浅比较来判断是否需要更新组件进行重渲染

什么是浅比较