学习 React Hooks(五)

useMemo, useCallback, useContext

发表于 2023-06-05 01:42:31
更新于 2024-04-18 13:33:37
React

useMemo

useMemo 是一个 React Hook,它在每次重新渲染的时候能够缓存计算的结果。

官网说了它也是仅在少数情况有价值,比如依赖关系很少改变时。

useCallback

useCallback 是一个 React Hook,用来在多次渲染之间缓存函数。

useMemo 已经可以做到缓存函数了,它的出现是为了避免出现嵌套的写法。

如果在缓存的函数里使用 setState,使用 setState 的函数更新形式可以减少依赖项。

useContext

useContext 是一个 React Hook,可以让你读取和订阅组件中的 context。

这个我在之前手写 Redux 时有应用。

createContext 时可以指定默认值,防止有时没有匹配的 provider