Проверяет понимание правильного места установки состояния загрузки (loading state) в асинхронных операциях для корректного отображения UI.
Состояние загрузки (loading) должно управляться вне блоков try и catch, чтобы обеспечить предсказуемое поведение интерфейса. Установка loading в true происходит непосредственно перед вызовом асинхронной функции, а сброс — после завершения операции, независимо от результата.
async function fetchData() {
setLoading(true); // Устанавливаем до try
try {
const response = await api.get('/data');
setData(response.data);
} catch (error) {
setError(error.message);
} finally {
setLoading(false); // Сбрасываем в finally
}
}Устанавливайте loading в true перед try и сбрасывайте в finally (или после try-catch). Это обеспечивает корректное отображение состояния загрузки во всех сценариях: успех, ошибка или преждевременное завершение.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию