所以我有一个看起来像的组件
const App = () => {
const someContextValue = useSomeContext(); //custom hook that calls useContext
useEffect(() => {
someContextValue()
}, [someContextValue]);
return <div />
}
每当组件重新渲染时,即使 someContextValue 并没有真正改变,也会触发 useEffect。
我通过使用 useMemo 来解决这个问题
const someContextValue = useMemo(useSomeContext, [useSomeContext])
现在 someContextValue 在重新渲染时不会改变。但我觉得这不太对劲。这样做的正确方法是什么?