useCallback、useMemo 的基础使用

13 阅读1分钟

首先要了解,使用react hooks 开发的组件,本质上是一个函数,会像普通函数一样执行。所以直接定义在函数里的方法,对象都会在函数重新执行的时候,从上到下重新执行一遍。 react 加上了 useState, useEffect 等hooks,其实就是相当于函数中 缓存了使用hooks 定义的变量,监听方法的执行等(react hooks 里有大量hooks,第二参数就是来监听变量的)。

当我们不使用 React.memo 来包裹的时候,父组件状态更新,都会导致包裹的子组件渲染(导致组件更新渲染的情况有:state的更新,props的更新)

每次父组件更新state,都会导致子组件的组件渲染,以及内部方法的执行,但是子组件的重复渲染是不必要的,那就要借助下面的hooks了。

image.png

image.png

image.png