Как подключать API в React Native и не забывать про loading, empty state, ошибки сети, JSON parsing и повторную загрузку.
Картридж статьи
Работа с API в React Native: fetch, loading, error и нормальные состояния экрана
Обсудить разработку MVP
Мы можем разработать MVP на React Native: iOS + Android от 300 000 ₽, срок от 2 недель.
Работа с API в React Native начинается не с fetch, а с состояний экрана: loading, data, empty, error и retry.
Новичок видит данные на хорошем интернете и считает задачу готовой. Но пользователь увидит медленную сеть, пустой ответ и ошибку сервера.
try {
setStatus("loading");
const response = await fetch(url);
if (!response.ok) throw new Error("Request failed");
setData(await response.json());
setStatus("success");
} catch {
setStatus("error");
}
Попробуй объяснить решение без подсказки: какие данные входят, какие состояния возможны, что увидит пользователь при ошибке и как проверить результат. Если ответ получается только “я скопировал код”, тему лучше закрепить ещё одной маленькой задачей.
Сделай маленькую версию темы без большого проекта. Один экран, один сценарий, один критерий готовности. Например: форма с валидацией, список с пустым состоянием, экран с API-загрузкой или карточка компонента с длинным текстом.
Порядок простой:
Тема стала практической, если ты можешь изменить условие задачи без полного переписывания. Например, заменить API response, добавить ещё одно поле формы, поменять текст ошибки или переиспользовать компонент на другом экране. Если любое изменение ломает всё, лучше сделать ещё один маленький проход.
Для этой темы полезно не только собрать рабочий happy path, но и специально сломать сценарий. Передай пустой массив, неверный параметр, слишком длинный текст или ошибку сети. Если приложение показывает понятное состояние, значит решение стало крепче.
Такой подход быстро меняет мышление: ты перестаёшь писать код только для демо и начинаешь думать как человек, который отдаёт экран реальному пользователю.
Эту тему лучше закреплять практикой: пройти урок, решить короткое задание, проверить себя в игре или арене и записать, что именно стало понятнее.
API-задачи полезны тем, что сразу делают приложение похожим на реальный продукт.