我想了解两者的用例。
答案 0 :(得分:2)
useEffect
允许您在值更改时(或组件首次呈现时)(异步)做某事。 “做某事”可能是任何事情-也许您想进行API调用或设置状态。或其他的东西。
useMemo
完全不同-使用它可以使您仅在必要时计算值,然后(同步)使用它。如React文档所示:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
computeExpensiveValue
仅在 处计算昂贵的值,该值应该是纯净的-不应包含设置状态之类的任何东西。
例如,当组件加载并且我要进行后端调用时。我可以使用,useEffect还是useMemo吗?
在这种情况下,您不是在同步计算值,而是在采取行动,听起来好像它会异步设置状态,所以useEffect
肯定会更多适当的选择。