Вот мой начальный код: < /p>
Код: Выделить всё
useEffect(() => {
const fetchData = async () => {
const res = await axios.get('/api/data');
setData(res.data); // Warning occurs if component unmounts before fetch finishes
};
fetchData();
}, []);
< /code>
Чтобы исправить это, я попытался использовать функцию очистки с AbortController. Мой обновленный код выглядит следующим образом: < /p>
useEffect(() => {
const controller = new AbortController();
const fetchData = async () => {
const res = await axios.get('/api/data', { signal: controller.signal });
setData(res.data);
};
fetchData();
return () => controller.abort(); // Is this the right way?
}, []);
Подробнее здесь: https://stackoverflow.com/questions/797 ... mory-leaks
Мобильная версия