好的,所以我大致了解我遇到的错误。
“无法对卸载的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要修复,请在 useEffect 清理函数中取消所有订阅和异步任务。”
我知道我需要做一些类似于在 useEffect 函数中添加已安装组件的事情。我实际上不太确定如何实施它,确切地说,是我正在做的事情。
useEffect(() => {
fetchShippingCountries(checkoutToken.id)
}, []);
useEffect(() => {
if (shippingCountry) fetchSubdivisions(shippingCountry);
}, [shippingCountry]);
useEffect(() => {
if (shippingSubdivision) fetchShippingOptions(checkoutToken.id, shippingCountry, shippingSubdivision);
}, [shippingSubdivision]);
我做了一些研究,这似乎是我需要遵循的表格,但它对我不起作用。
useEffect(() => {
let mounted = true;
fetchItems().then((newItems) => {
if (mounted) {
setItems(newItems);
}
});
return () => {
mounted = false;
};
}, []);