Skip to content
Back to skills

React Native Best Practices

ASecurity

React Native & Expo engineering standards.

  • 508 stars
  • 0 votes
  • 0 copies
  • 22 views
  • Added February 8, 2026
developmentgoreactnextjsdebuggingapiperformance

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add Dokhacgiakhoa/antigravity-ide --skill react-native-best-practices --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of React Native Best Practices?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for React Native Best Practices
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dokhacgiakhoa-react-native-best-practices/badge)](https://www.skillsdirectory.com/skills/dokhacgiakhoa-react-native-best-practices)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: react-native-best-practices
description: React Native & Expo engineering standards.
category: development
version: 4.0.5
layer: master-skill
---

# React Native & Expo Best Practices

> **Goal**: Build "Write Once, Run Everywhere" mobile apps that feel 100% native.

## 1. Architecture: Expo Router

- **File-based Routing**: Use `app/` directory similar to Next.js.
- **Linking**: Define schemes in `app.json` for deep linking.
- **Layouts**: Use `_layout.tsx` for shared navigation wrappers (Stack, Tabs).

## 2. UI & Styling

- **NativeWind**: Use `nativewind` (Tailwind for RN) for styling. It's faster and more familiar.
- **FlashList**: Replace `FlatList` with Shopify's `FlashList` for 5x performance on long lists.
- **Safe Area**: Always wrap screen content in `SafeAreaView` (or use spacing tokens that account for insets).

## 3. Performance Optimization

- **Image Caching**: Use `expo-image` instead of React Native's `<Image />`.
    - Features: Blurhash, caching, preloading.
- **Reanimated**: Use `react-native-reanimated` for 60fps animations (runs on UI thread), avoiding the JS bridge.
- **Hermes**: Ensure Hermes engine is enabled in `app.json` for faster startup and smaller bundle size.

## 4. Data Management

- **TanStack Query (React Query)**: Standard for async server state. Handle `offline` status gracefully.
- **MMKV**: Use `react-native-mmkv` for synchronous local storage (replacing Async Storage). It is ~30x faster.

## 5. Debugging & Dev Experience

- **EAS Build**: Use Expo Application Services (EAS) for cloud builds.
- **Expo Go**: Use for rapid prototyping, but switch to "Development Build" (Prebuild) if adding native modules.

---

**Checklist**:
- [ ] Is Hermes enabled?
- [ ] Are images using `expo-image`?
- [ ] Is navigation handled by Expo Router?
- [ ] Are heavy computations moved off the JS thread?

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…