Skip to content
Back to skills

Mobile React Native

ASecurity

React Native best practices, hooks, navigation ve performance optimization.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
developmentjavascripttypescriptgojavareactnodetestingdebuggingapifrontend

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill mobile_react_native --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mobile React Native?

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

Security grade badge for Mobile React Native
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-mobile-react-native/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-mobile-react-native)

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: mobile_react_native
router_kit: FullStackKit
description: React Native best practices, hooks, navigation ve performance optimization.
metadata:
  skillport:
    category: development
    tags: [accessibility, api integration, backend, browser apis, client-side, components, css3, debugging, deployment, frameworks, frontend, fullstack, html5, javascript, libraries, mobile react native, node.js, npm, performance optimization, responsive design, seo, state management, testing, typescript, ui/ux, web development]      - mobile-flutter
---

# 📱 Mobile React Native

> React Native best practices ve performance optimization.

---

## 📁 1. Proje Yapısı

```
src/
├── components/
│   ├── common/        # Reusable
│   └── screens/       # Screen components
├── hooks/             # Custom hooks
├── services/          # API, storage
├── store/             # State (Zustand)
├── navigation/
└── App.tsx
```

---

## ⚡ 2. Performance

```typescript
// FlatList optimizasyonu
<FlatList
  data={items}
  keyExtractor={(item) => item.id}
  removeClippedSubviews={true}
  maxToRenderPerBatch={10}
  windowSize={5}
  getItemLayout={(data, index) => ({
    length: ITEM_HEIGHT,
    offset: ITEM_HEIGHT * index,
    index,
  })}
/>

// Memoization
const Component = React.memo(({ data }) => { });
const callback = useCallback(() => {}, [deps]);
const value = useMemo(() => compute(), [deps]);
```

---

## 🔐 3. Secure Storage

```typescript
// ❌ AsyncStorage güvenli değil
// ✅ SecureStore kullan
import * as SecureStore from 'expo-secure-store';

await SecureStore.setItemAsync('token', userToken);
const token = await SecureStore.getItemAsync('token');
```

---

## 🧭 4. Navigation

```typescript
type RootStackParamList = {
  Home: undefined;
  Profile: { userId: string };
};

const Stack = createNativeStackNavigator<RootStackParamList>();
```

---

## 📦 5. State (Zustand)

```typescript
import { create } from 'zustand';
import { persist } from 'zustand/middleware';

const useAuthStore = create(
  persist(
    (set) => ({
      user: null,
      login: (user) => set({ user }),
      logout: () => set({ user: null }),
    }),
    { name: 'auth-storage' }
  )
);
```

---

## 📱 6. Platform-Specific

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

const padding = Platform.select({ ios: 20, android: 0 });

// Dosya bazlı: Button.ios.tsx, Button.android.tsx
```

---

*Mobile React Native v1.1 - Enhanced*

## 🔄 Workflow

> **Kaynak:** [React Native Performance Guide](https://reactnative.dev/docs/performance) & [Expo Guideline](https://docs.expo.dev/)

### Aşama 1: Setup & Architecture
- [ ] **Framework**: Expo (Managed Workflow) ile başla, `expo-router` v3 kullan.
- [ ] **State**: Zustand veya TanStack Query ile server/client state ayrımını yap.
- [ ] **Styling**: NativeWind (Tailwind) veya Restyle ile tutarlı tasarım sistemi kur.

### Aşama 2: Performance Optimization
- [ ] **Lists**: `FlatList` yerine `FlashList` (Shopify) kullan (5x performans).
- [ ] **Images**: `expo-image` ile caching ve blurhash desteği ekle.
- [ ] **Bundle**: `Hermes` engine'i aktifleştir ve bundle size analizi yap.

### Aşama 3: Native Modules & Release
- [ ] **Native**: Gerekirse Custom Native Module (Turbo Modules) yaz.
- [ ] **Updates**: `expo-updates` ile store onayı beklemeden OTA (Over-the-Air) güncelleme yap.
- [ ] **Profiling**: Flipper veya React DevTools ile FPS ve Memory Leak kontrolü yap.

### Kontrol Noktaları
| Aşama | Doğrulama |
|-------|-----------|
| 1 | UI thread (JS thread) 60fps'in altına düşüyor mu? |
| 2 | Uygulama boyutu (APK/IPA) optimize edildi mi? |
| 3 | Android ve iOS davranışları (Navigation, Keyboard) tutarlı mı? |

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.