我每 30 秒进行一次获取,并将响应保存在我的 redux 状态。如果响应与前一个相同,我想要做的是防止重新渲染组件。为此,我尝试了 useMemo 钩子。
const details = useSelector((state: RootState) => state.orders.details);
这是我每 30 秒更新一次的状态。(这是一个对象)
这就是我实现 useMemo 的方式
const memorizedDetails = useMemo(() => {
return details;
}, [details]);
最后是我的 useEffect
useEffect(() => {
if (memorizedOrderDetails) {
console.log("content changed");
}
}, [memorizedOrderDetails]);
但即使更新的细节与前一个相同,它也总是每 30 秒记录一次“内容更改”。
我在这里使用 useMemo 的方式错了吗?