useMemo对函数返回结果进行缓存,即使页面没有用到,也会在首次渲染或依赖更新后组件函数执行时重新执行。
组件函数执行,先useMemo再更新页面
第一个参数 | 第二个参数 |
---|---|
1. 组件首次渲染(函数首次执行),dom挂载前执行;2. 每次组件更新前(函数重新执行),先执行useMemo,再更新dom | 空 |
1. 组件首次渲染(函数首次执行),dom挂载前执行 | [] |
1. 组件首次渲染(函数首次执行),dom挂载前执行;2. 每次依赖更新时,组件更新前(函数重新执行)先执行useMemo再更新dom | [state] |