Junior — Middle
101
Чӣ гуна амалиётҳои асинхронӣ дар дохили hook-и useEffect дар React амалӣ кардан мумкин аст?
Ҷавоб аз AI
sobes.tech AI
В React внутри хука useEffect нельзя напрямую сделать функцию асинхронной (нельзя писать async перед функцией, переданной в useEffect), потому что useEffect ожидает либо функцию очистки, либо ничего.
Правильный способ — объявить асинхронную функцию внутри эффекта и вызвать её:
useEffect(() => {
async function fetchData() {
const response = await fetch('/api/data');
const data = await response.json();
// обновить состояние или выполнить другие действия
}
fetchData();
}, []);
Или использовать стрелочную функцию:
useEffect(() => {
const fetchData = async () => {
const response = await fetch('/api/data');
const data = await response.json();
// обновить состояние
};
fetchData();
}, []);
Такой подход позволяет выполнять асинхронные операции внутри useEffect корректно.