我正在使用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)
可以解决问题?