【发布时间】:2019-06-03 09:26:17
【问题描述】:
我正在使用 react useEffect 钩子并检查对象是否已更改,然后才再次运行钩子。
我的代码如下所示。
const useExample = (apiOptions) => {
const [data, updateData] = useState([]);
useEffect(() => {
const [data, updateData] = useState<any>([]);
doSomethingCool(apiOptions).then(res => {
updateData(response.data);
})
}, [apiOptions]);
return {
data
};
};
不幸的是,由于对象未被识别为相同,它一直在运行。
我相信下面是一个例子。
const objA = {
method: 'GET'
}
const objB = {
method: 'GET'
}
console.log(objA === objB)
也许运行JSON.stringify(apiOptions) 有效?
【问题讨论】:
-
有解决方案吗?你没有选择答案,所以我想知道你是不是走了另一条路?
-
@FabricioG 不记得 tbh,但看起来下面有很多很好的答案。
标签: javascript reactjs react-hooks