React Native + Expo
Cursor rule: Expo screens & state
Nota: AAn auto-attached .mdc rule for screen thinness, typed route params, three-state rendering, and the query/store boundary.
---
description: Expo Router screen and state-management conventions
globs: app/**/*.tsx,components/**/*.tsx,stores/**/*.ts
alwaysApply: false
---
# Screen and state rules
- Screens are thin: data via hooks from `@/hooks/queries`, layout via shared
components. A screen file over ~150 lines needs extraction.
- Server data = TanStack Query; client-only state = Zustand. Never mirror one
into the other - it desyncs on refetch.
- Type route params:
```tsx
const { trailId } = useLocalSearchParams<{ trailId: string }>();
const { data, isPending, error } = useTrail(trailId);
if (error) return <ErrorState retry={refetch} />;
```
- Every data-bearing screen renders all three states: pending, error, empty.
Follow @app/(tabs)/profile.tsx for the pattern.
- Platform forks use `.ios.tsx` / `.android.tsx` files, not `Platform.OS`
conditionals inside render.Estes exemplos são publicados sob CC0. Use livremente, sem atribuição. São fornecidos como estão, sem garantia de qualquer tipo: revise e adapte ao seu projeto antes de usar, pois você é responsável pelo resultado de aplicá-los.
Leve o PromptArch para sua equipe
Implemente o PromptArch como ferramenta interna em todas as áreas da sua empresa. Obtenha contas de equipe com créditos pré-carregados compartilhados e domínios personalizados para sua organização.
Fale Conosco