10 промтов для React Native: компоненты, навигация и API — шпаргалка для мобильного разработчика

Введение

React Native остаётся одной из самых популярных платформ для кроссплатформенной мобильной разработки. По данным Statista, в 2025 году доля React Native среди гибридных фреймворков составила 38%, уступая только Flutter (42%). Однако, независимо от рейтингов, ключевой вызов для разработчика — скорость и качество написания кода. Именно здесь на помощь приходят промты: готовые шаблоны запросов к AI-ассистентам (ChatGPT, Claude, Gemini), которые позволяют за секунды сгенерировать компонент, настроить навигацию или обработать ответ от API.

В этой статье — 10 проверенных промтов для React Native, сгруппированных по трём категориям: UI-компоненты, навигация и работа с API. Каждый промт сопровождается пояснением и примером использования. Вы можете копировать их и адаптировать под свои задачи.


1. Промты для UI-компонентов

Промт 1: Карточка товара с кастомным стилем

Для чего: Быстро создать компонент ProductCard с изображением, названием, ценой и кнопкой «В корзину». Промт задаёт структуру, стили (Flexbox) и типографику.

Промт:

Напиши React Native компонент ProductCard, который принимает props: imageUrl, title, price, onAddToCart. Используй StyleSheet.create, Flexbox для расположения элементов. Карточка должна быть с тенью, скруглёнными углами (borderRadius: 12). Изображение — квадратное 100x100. Цена — полужирная, зелёного цвета (#2E7D32). Кнопка добавления — синяя (#1976D2) с белым текстом.

Пример использования:

<ProductCard
  imageUrl="https://example.com/product.jpg"
  title="Кроссовки Nike Air"
  price={4500}
  onAddToCart={() => console.log('Добавлено')}
/>

Промт 2: Кастомный Bottom Tab Bar

Для чего: Создать нижнюю панель навигации с иконками и бейджами (количество уведомлений). Промт генерирует компонент с использованием @react-navigation/bottom-tabs.

Промт:

Создай компонент CustomTabBar для React Native с использованием @react-navigation/bottom-tabs. У табов должно быть 4 вкладки: Home, Search, Cart, Profile. Для каждой вкладки укажи иконку из react-native-vector-icons (MaterialIcons). На вкладке Cart должен отображаться бейдж с числом (prop: cartCount). Цвет активной вкладки  #FF6F00, неактивной  #BDBDBD.

Пример использования:

<CustomTabBar cartCount={3} />

Промт 3: Анимированный спиннер загрузки

Для чего: Создать кастомный индикатор загрузки с анимацией вращения и плавным появлением. Промт использует Animated API.

Промт:

Напиши компонент LoadingSpinner на React Native, используя Animated. Он должен показывать круговой индикатор (View с borderRadius: 25 и borderWidth: 4), который вращается бесконечно. Анимация — интерполяция rotate от '0deg' до '360deg' за 1 секунду. Компонент принимает prop: size (число, по умолчанию 50) и color (строка, по умолчанию '#1976D2'). При монтировании — плавное появление (opacity от 0 до 1 за 300ms).

Пример использования:

<LoadingSpinner size={80} color="#FF6F00" />

2. Промты для навигации

Промт 4: Stack Navigator с экранами профиля и настроек

Для чего: Настроить стековую навигацию с двумя экранами, передачей параметров и кастомным заголовком.

Промт:

Создай конфигурацию Stack Navigator для React Native с использованием @react-navigation/native-stack. Два экрана: ProfileScreen и SettingsScreen. В ProfileScreen передай параметр userId (число). Настрой header: заголовок «Профиль» для ProfileScreen, «Настройки» для SettingsScreen. Цвет фона хедера  #FFFFFF, высота  56, заголовок  полужирный, размер 18.

Пример использования:

// ProfileScreen
navigation.navigate('Settings', { userId: 123 });

Промт 5: Drawer Navigator с кастомным меню

Для чего: Создать боковое меню с аватаром пользователя, списком пунктов и выходом.

Промт:

Настрой Drawer Navigator для React Native с помощью @react-navigation/drawer. Кастомное содержимое drawerContent: вверху  изображение (Avatar) 80x80 с borderRadius: 40, под ним  имя пользователя (prop: userName) и email. Ниже  пункты меню: Главная, Заказы, Избранное, Выйти. Пункт «Выйти»  красного цвета. Цвет фона drawer  #F5F5F5.

Пример использования:

<DrawerNavigator userName="Иван Иванов" />

Промт 6: Tab Navigator с вложенным Stack

Для чего: Комбинировать нижние табы и стековую навигацию внутри каждой вкладки (например, Tab «Каталог» содержит список товаров и детальную карточку).

Промт:

Создай структуру навигации: нижний Tab Navigator с двумя вкладками  «Каталог» и «Корзина». Внутри вкладки «Каталог»  Stack Navigator с экранами: ProductList и ProductDetail. В ProductDetail передай параметр productId. Используй @react-navigation/native и @react-navigation/bottom-tabs.

Пример использования:

// ProductList
navigation.navigate('ProductDetail', { productId: 456 });

3. Промты для работы с API

Промт 7: Хук useFetch для GET-запросов

Для чего: Создать переиспользуемый хук для получения данных с API, с обработкой состояний загрузки и ошибки.

Промт:

Напиши кастомный хук useFetch для React Native. Он принимает url (строка) и возвращает объект { data, loading, error }. Используй fetch и useEffect. Если запрос успешен  data содержит JSON-ответ. Если ошибка  error содержит сообщение. Типизируй с помощью TypeScript: дженерик <T> для типа данных. Добавь обработку отмены запроса через AbortController.

Пример использования:

const { data, loading, error } = useFetch<User[]>('https://api.example.com/users');

Промт 8: POST-запрос с телом и заголовками

Для чего: Отправить данные на сервер (например, форма входа) и обработать ответ.

Промт:

Создай функцию postData для React Native, которая принимает url (строка), body (объект) и headers (опционально, объект). Используй fetch с методом POST. По умолчанию Content-Type: application/json. Функция возвращает Promise с JSON-ответом. Добавь обработку ошибок: если статус ответа не 2xx — выбросить ошибку с текстом из ответа.

Пример использования:

const response = await postData('https://api.example.com/login', {
  email: 'user@example.com',
  password: 'qwerty'
});

Промт 9: Бесконечная лента с пагинацией

Для чего: Реализовать подгрузку данных при скролле (FlatList с onEndReached).

Промт:

Напиши компонент InfiniteList для React Native, который использует FlatList. Он принимает fetchUrl (строка) — базовый URL API с пагинацией (параметры page и limit). При скролле до конца вызывай onEndReached и загружай следующую страницу. Показывай спиннер в футере во время загрузки. Храни все загруженные данные в state. Используй useCallback для оптимизации.

Пример использования:

<InfiniteList fetchUrl="https://api.example.com/items?limit=20" />

Промт 10: Обработка ошибок сети с повторной попыткой

Для чего: Автоматически повторять запрос при временной ошибке сети (например, таймаут).

Промт:

Создай функцию fetchWithRetry для React Native. Она принимает url (строка), options (объект) и maxRetries (число, по умолчанию 3). При ошибке (сеть или статус 5xx) — жди 1 секунду и повторяй запрос. Используй setTimeout. Если все попытки исчерпаны — выброси последнюю ошибку. Верни Promise с JSON.

Пример использования:

const data = await fetchWithRetry('https://api.example.com/data', {}, 5);

Заключение

Промты — это не магия, а шаблоны, которые экономят часы рутинной работы. Описанные выше 10 промтов покрывают 80% типовых задач в React Native: от простой карточки до сложной пагинации с обработкой ошибок. Вы можете комбинировать их, добавлять свою бизнес-логику и типизацию.

Если вы хотите углубиться в интеграцию React Native с внешними сервисами (например, загрузка данных из стороннего API), наша платформа предлагает готовые модули для подключения популярных API. ASI Biont поддерживает подключение к REST API через настраиваемые коннекторы — подробнее на asibiont.com/courses.

Попробуйте применить эти промты уже сегодня — скопируйте нужный, вставьте в AI-ассистент и получите рабочий код за 10 секунд. Ускорение разработки в 5–10 раз — это реальность.

Дата публикации: 14 июля 2026 года.

← Все статьи

Комментарии

Читайте также