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

Введение

React Native остаётся одной из самых популярных платформ для кроссплатформенной мобильной разработки. По данным опроса Stack Overflow 2025 года, его используют более 12% профессиональных разработчиков. Однако даже опытные инженеры тратят до 30% времени на рутинные задачи: написание шаблонов компонентов, настройку навигации или обработку ответов от API. В 2026 году промпты (промты) для AI-ассистентов, таких как GPT-4o и Claude 3.5 Sonnet, превратились в полноценный инструмент ускорения. В этой статье — 10 готовых промтов, которые помогут вам быстрее писать UI, настраивать React Navigation и интегрировать внешние данные. Каждый промт проверен на практике и адаптирован под React Native 0.76+.

1. Промт для генерации кастомного компонента с пропсами и стилями

Задача: Создать переиспользуемый компонент кнопки с поддержкой тем, иконок и состояний загрузки.

Промт:

Создай компонент React Native под названием PrimaryButton. Он должен принимать пропсы: title (string), onPress (функция), loading (boolean, по умолчанию false), disabled (boolean, по умолчанию false) и icon (React.ReactNode, опционально). Используй StyleSheet.create для стилей. Если loading=true  покажи ActivityIndicator вместо текста. Если disabled=true  сделай кнопку полупрозрачной (opacity: 0.5) и отключи onPress. Добавь анимацию нажатия с помощью Animated API (уменьшение scale до 0.96). Напиши код на TypeScript.

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

<PrimaryButton
  title="Отправить"
  onPress={() => alert('Отправлено!')}
  loading={isSubmitting}
  disabled={!isFormValid}
  icon={<Icon name="send" />}
/>

Почему это работает: AI генерирует не просто статичный компонент, а учитывает состояния (loading/disabled) и анимации, экономя 15–20 минут ручного кодинга.

2. Промт для настройки навигации (Stack + Tab Navigator)

Задача: Быстро настроить React Navigation 6 с комбинацией Stack и Bottom Tab.

Промт:

Напиши конфигурацию навигации для React Native приложения с использованием @react-navigation/native и @react-navigation/bottom-tabs. У нас есть три таба: HomeStack (с экранами Home и Profile), SearchStack (с экраном Search) и SettingsStack (с экраном Settings и Details). Каждый Stack должен содержать свой собственный navigator. Используй TypeScript. Стилизуй tabBar: активный цвет  '#4A90D9', неактивный  '#888', добавь иконки из @expo/vector-icons (Ionicons).

Пример структуры:
- HomeTab содержит HomeScreen (список постов) и ProfileScreen (профиль пользователя)
- SearchTab — SearchScreen с поисковой строкой
- SettingsTab — SettingsScreen и DetailsScreen (настройки профиля)

Результат: AI возвращает готовый код AppNavigator.tsx, который можно сразу вставить в проект.

3. Промт для интеграции REST API с fetch и обработкой ошибок

Задача: Написать хук useFetch для получения данных с сервера с кэшированием и повторными попытками.

Промт:

Создай кастомный хук useFetch<T>(url: string, options?: { retries?: number, cacheTime?: number }). Хук должен возвращать { data: T

| null, loading: boolean, error: string | null, refetch: () => void }. Используй fetch. Реализуй:
- Повторные попытки при ошибках сети (до 3 раз, с задержкой 1с между попытками)
- Кэширование в памяти с временем жизни cacheTime (по умолчанию 5 минут)
- Отмену запроса при размонтировании компонента с помощью AbortController
- Обработку HTTP ошибок (4xx, 5xx) и выбрасывание исключений с текстом ошибки
- Напиши на TypeScript.

Пример вызова:

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

Практический совет: Такой хук подходит для большинства REST-запросов. Для более сложных сценариев (зависимости, дебаунс) лучше использовать React Query — официальная документация рекомендует его как основное решение для управления серверным состоянием.

4. Промт для создания формы с валидацией (Formik + Yup)

Задача: Генерация формы входа с валидацией email и пароля.

Промт:

Создай компонент LoginForm с использованием Formik и Yup. Поля: email (email, обязательное), password (строка, минимум 8 символов, должна содержать хотя бы одну цифру). Используй React Native TextInput. При ошибках валидации показывай красный текст под полем. Кнопка отправки должна быть заблокирована, пока форма невалидна. После успешной отправки выведи alert с данными. Напиши на TypeScript.

Пример кода (фрагмент):

const validationSchema = Yup.object().shape({
  email: Yup.string().email('Неверный формат email').required('Обязательное поле'),
  password: Yup.string().min(8, 'Минимум 8 символов').matches(/\d/, 'Должна быть цифра').required(),
});

5. Промт для FlatList с оптимизацией производительности

Задача: Оптимизировать FlatList для списка из 1000+ элементов.

Промт:

Напиши компонент OptimizedList, который использует FlatList с виртуализацией. Каждый элемент — это Card с изображением (Image с resizeMode='cover'), заголовком и описанием. Реализуй:
- getItemLayout для фиксированной высоты (120px), чтобы избежать измерения
- keyExtractor на основе id
- windowSize={5} и maxToRenderPerBatch={10}
- initialNumToRender={10}
- Используй React.memo для компонента элемента
- Добавь pull-to-refresh с RefreshControl
- Напиши на TypeScript.

Зачем это нужно: Без оптимизации FlatList с 1000 элементами может тормозить на старых устройствах. getItemLayout ускоряет прокрутку до 60 FPS.

6. Промт для работы с локальным хранилищем (AsyncStorage)

Задача: Сохранять и загружать настройки приложения.

Промт:

Создай сервис StorageService, который оборачивает @react-native-async-storage/async-storage. Методы: getItem<T>(key: string): Promise<T | null>, setItem<T>(key: string, value: T): Promise<void>, removeItem(key: string): Promise<void>. Добавь логирование ошибок в консоль. Напиши на TypeScript.

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

await StorageService.setItem('theme', { mode: 'dark', fontSize: 16 });
const theme = await StorageService.getItem<Theme>('theme');

7. Промт для анимаций с React Native Reanimated

Задача: Создать анимированный вход для модального окна.

Промт:

Напиши компонент AnimatedModal с использованием react-native-reanimated 3. Модальное окно должно появляться снизу с анимацией slide-up (translateY от 300 до 0) за 300ms. Задний фон (overlay) должен плавно появляться (opacity от 0 до 0.5). При закрытии — обратная анимация. Используй useSharedValue, withTiming и Animated.View. Напиши на TypeScript.

Результат: AI генерирует плавную анимацию, которая работает на 60 FPS без дропов.

8. Промт для интеграции Firebase Authentication

Задача: Добавить вход по email/паролю через Firebase.

Промт:

Напиши хук useFirebaseAuth, который использует @react-native-firebase/auth. Методы: signIn(email, password), signUp(email, password), signOut(). Хук должен возвращать { user, loading, error, signIn, signUp, signOut }. Используйте onAuthStateChanged для отслеживания состояния пользователя. Обрабатывай ошибки (неверный пароль, пользователь не найден и т.д.) и возвращай понятное сообщение на русском. Напиши на TypeScript.

9. Промт для генерации тестов (Jest + React Native Testing Library)

Задача: Написать unit-тесты для компонента PrimaryButton.

Промт:

Напиши тесты для компонента PrimaryButton из первого промта. Используй @testing-library/react-native и Jest. Проверь:
- Компонент рендерится с переданным title
- При нажатии вызывается onPress
- При loading=true отображается ActivityIndicator, а текст скрыт
- При disabled=true кнопка не реагирует на нажатие
- Иконка рендерится, если передана
- Напиши на TypeScript.

10. Промт для создания хука геолокации (Expo Location)

Задача: Получить текущие координаты пользователя с разрешениями.

Промт:

Создай хук useLocation, который использует expo-location. Хук должен запрашивать разрешение foreground. Возвращать { latitude: number

| null, longitude: number | null, error: string | null, loading: boolean }. Если разрешение отклонено  верни ошибку 'Разрешение на геолокацию не предоставлено'. Используй Location.getCurrentPositionAsync с accuracy: Location.Accuracy.High. Напиши на TypeScript.

Заключение

Промты для React Native — это не замена навыкам разработчика, а мощный ускоритель рутины. Используя эти шаблоны, вы можете сократить время на написание компонентов, настройку навигации и интеграцию API в 2–3 раза. Важно помнить: AI-генерация требует проверки — всегда тестируйте код на реальных устройствах и следите за версиями зависимостей. В 2026 году большинство AI-ассистентов поддерживают последние версии React Native (0.76+) и React Navigation 6, но специфические баги могут возникать. Дополнительные примеры и готовые шаблоны проектов можно найти в официальной документации React Native и репозиториях сообщества на GitHub.

← Все статьи

Комментарии

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

Интеграция Banana Pi с AI-агентом ASI Biont: автоматизация на одноплатнике без единой строки кода

14 июля 2026

Telegram Bot Development: как автоматизировать бизнес и заработать на ботах в 2026 году

14 июля 2026

AI-агент оживляет завод: интеграция Modbus RTU (RS-485) с ASI Biont для предиктивного обслуживания

14 июля 2026

Uber не хочет быть «всем для всех»: что на самом деле сказал продакт-директор про отели, роботакси и будущее платформы

14 июля 2026

Курс «Промышленный интернет вещей (IIoT) и системы SCADA»: ваш путь к Индустрии 4.0 в 2026 году

14 июля 2026

ИИ незаметно меняет мнения пользователей в соцсетях: как алгоритмы формируют нашу реальность

14 июля 2026

CKA + CKAD — Kubernetes Administrator & Developer: как подготовиться к сертификации в 2026 году с AI-тьютором

14 июля 2026

Как перестать терять сделки из-за языка: обзор курса «Английский для бизнеса» на asibiont.com

14 июля 2026

Трансформационное лидерство и стратегическое мышление CEO: Программа для основателей на уровне Гарварда, желающих овладеть принятием решений

14 июля 2026