К основному содержанию
скилл CX Codex

react-native-patterns — скилл для Claude Code

Скилл направляет агента при разработке мобильных приложений на React Native и Expo: от навигации до различий между iOS и Android.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add spencerpauly/awesome-cursor-skills --skill react-native-patterns -a claude-code
Открыть на GitHub

Что делает react-native-patterns

Скилл даёт агенту правила для React Native и Expo. Он охватывает файловую навигацию через expo-router, раздельный код для iOS и Android, стили через StyleSheet.create и работу с длинными списками через FlatList.

Внутри есть структура маршрутов с app/_layout.tsx, динамическими путями и вкладками. Скилл также предлагает @react-navigation/native, nativewind, zustand, @tanstack/react-query, expo-image и другие библиотеки под отдельные задачи.

Expo советуется для большинства проектов. Если нужен пользовательский нативный модуль, который Expo не поддерживает, выбирайте Bare React Native, потому что там доступен полный контроль над нативной частью.

Какие задачи решает

  • Настроить файловую навигацию в expo-router
  • Разделить код для iOS и Android
  • Отрисовать длинный список через FlatList
  • Убрать стили, создаваемые при каждом рендере
  • Подключить хранение данных через expo-secure-store

Примеры запросов агенту

  • Используй react-native-patterns и создай навигацию с вкладками в expo-router.
  • Примени react-native-patterns: вынеси различия iOS и Android в Component.ios.tsx и Component.android.tsx.
  • Используй react-native-patterns, чтобы переделать длинный ScrollView в FlatList.

Как установить react-native-patterns

1Через Skills CLI (Vercel)

npx skills add spencerpauly/awesome-cursor-skills --skill react-native-patterns -a claude-code

2Вручную: положить файлы

~/.claude/skills/react-native-patterns/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/react-native-patterns/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о react-native-patterns

Как установить react-native-patterns в Claude Code?

Выполните npx skills add spencerpauly/awesome-cursor-skills --skill react-native-patterns -a claude-code, затем повторите npx skills add spencerpauly/awesome-cursor-skills --skill react-native-patterns -a claude-code.

Что делает react-native-patterns?

Скилл помогает агенту следовать практикам React Native и Expo при создании мобильного приложения. Он покрывает навигацию, стили, производительность, платформенный код и нативные модули.

Когда выбирать Expo, а когда Bare React Native?

Expo советуется для большинства проектов. Bare React Native нужен, когда требуется пользовательский нативный модуль, который Expo не поддерживает.

Исходный текст

SKILL.md · CC0-1.0
---
name: react-native-patterns
description: Build mobile apps with React Native and Expo — navigation, platform-specific code, performance, and native modules.
user-invocable: true
---

# React Native Patterns

Build production-quality mobile apps with React Native and Expo.

## Project Setup

**Expo (recommended for most projects):**
```bash
npx create-expo-app@latest my-app
cd my-app
npx expo start
```

**Bare React Native (when you need full native control):**
```bash
npx @react-native-community/cli init MyApp
```

Use Expo unless you need a custom native module that Expo doesn't support.

## Navigation

Use `expo-router` (file-based routing) or `@react-navigation/native`:

```
app/
├── _layout.tsx        # Root layout (tabs, stack, drawer)
├── index.tsx          # Home screen
├── (tabs)/
│   ├── _layout.tsx    # Tab navigator
│   ├── home.tsx
│   ├── profile.tsx
│   └── settings.tsx
└── [id].tsx           # Dynamic route
```

## Platform-Specific Code

```typescript
import { Platform } from 'react-native';

const styles = StyleSheet.create({
  shadow: Platform.select({
    ios: { shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.1 },
    android: { elevation: 4 },
  }),
});
```

For larger differences, use platform-specific files:
- `Component.ios.tsx`
- `Component.android.tsx`

## Styling

Use `StyleSheet.create` for performance (styles are sent to native once):

```typescript
const styles = StyleSheet.create({
  container: { flex: 1, padding: 16 },
  title: { fontSize: 24, fontWeight: '700' },
});
```

For a Tailwind-like experience, use `nativewind`:
```tsx
<View className="flex-1 p-4">
  <Text className="text-2xl font-bold">Hello</Text>
</View>
```

## Performance

**FlatList over ScrollView** for long lists:
```tsx
<FlatList
  data={items}
  keyExtractor={(item) => item.id}
  renderItem={({ item }) => <ItemRow item={item} />}
  initialNumToRender={10}
  maxToRenderPerBatch={5}
  windowSize={5}
/>
```

**Memoize expensive components:**
```tsx
const ItemRow = React.memo(({ item }: { item: Item }) => (
  <View><Text>{item.name}</Text></View>
));
```

**Avoid:**
- Inline styles (creates new objects every render)
- Anonymous functions in `renderItem`
- Large images without caching (`expo-image` handles this)

## Common Libraries

| Need | Library |
|------|---------|
| Navigation | `expo-router` or `@react-navigation/native` |
| State | `zustand`, `jotai`, or React context |
| Data fetching | `@tanstack/react-query` |
| Images | `expo-image` |
| Icons | `@expo/vector-icons` |
| Storage | `expo-secure-store` (sensitive), `@react-native-async-storage/async-storage` (general) |
| Animations | `react-native-reanimated` |
| Gestures | `react-native-gesture-handler` |
| Forms | `react-hook-form` + `zod` |

## Tips

- Test on both iOS and Android from the start, not at the end
- Use `expo-dev-client` for custom native modules with Expo
- Handle safe areas with `react-native-safe-area-context`
- Always handle keyboard avoidance for forms (`KeyboardAvoidingView`)
- Use `expo-updates` for OTA updates in production

© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills

Похожие скиллы

Всё по теме «Мобильная разработка» →
react-native-brownfield-migration callstackincubator Помогает пошагово внедрять React Native или Expo в нативные приложения iOS и Android с помощью @callstack/react-native-brownfield. CX Codex +1 5 200установок dt-setup-react-native Dynatrace Пошагово настраивает плагин Dynatrace в проектах на React Native или Expo: правит конфиги Babel, подключает зависимости и проверяет параметры приватности. CX Codex +1 860установок react-native-architecture Seth Hobson Скилл для Claude Code, Codex и Cursor: подсказывает структуру проекта, навигацию, нативные модули и офлайн-синхронизацию в React Native на Expo. CX Codex 15 087установок react-native-dev MiniMax-AI Справочник по React Native и Expo для агента: навигация, списки, анимации, состояние, тесты и сборка. Полезен, когда пишете мобильное приложение и не хотите объяснять агенту базу. CX Codex +1 1 900установок expo-react-native-coder pproenca Скилл с 50 правилами и шаблонами кода для разработки мобильных приложений на Expo и React Native. Пригодится при сборке экранов, навигации и авторизации. CX Codex +1 409установок expo-native-ui expo Настраивает правила вёрстки нативных экранов в Expo по гайдам Apple HIG: цвета, элементы @expo/ui, SF Symbols и адаптивные отступы. CX Codex +1 31 700установок

Из того же набора59

exporting-to-png Скилл обучает агента преобразовывать код, диаграммы Mermaid, вывод терминала и SVG в PNG-файлы с помощью консольных утилит или headless-браузера. CX Codex +1 401установок parallel-ci-triage Делит упавшие джобы GitHub Actions между параллельными субагентами: каждый чинит свой кусок. Пригодится, когда CI сломался в нескольких местах сразу. CX Codex +1 403установок screenshotting-changelog Делает визуальный changelog для пул-реквеста: снимает страницы до и после правок и вставляет пары картинок в описание PR. CX Codex +1 401установок updating-npm-package Инструмент помогает обновлять npm-пакеты без скрытых поломок в коде. Он сверяет версии через npmjs.com и строит отчёт о миграции при мажорных релизах. CX Codex +1 398установок adding-docker Скилл добавляет в проект Dockerfile, docker-compose и .dockerignore. Пригодится, когда надо упаковать приложение в контейнер без ручной возни с конфигами. CX Codex +1 398установок fixing-broken-links Скилл находит в файлах проекта битые внешние URL и локальные пути, проверяет их ответы через curl и заменяет на актуальные адреса. CX Codex +1 393установок converting-css-modules-to-tailwind Переводит компонент с CSS Modules на утилитарные классы Tailwind: разбирает styles.xxx, чистит импорты и удаляет файл модуля. CX Codex +1 392установок generating-images Скилл генерирует и правит изображения через OpenAI Image API на модели gpt-image-2. Пригодится, когда нужен OG-баннер, иконка или мокап прямо из чата с агентом. CX Codex +1 388установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой