界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

react-native-state-management

react-native-state-management

【效率与协作】Implement local and global state with Context, Zustand, and Redux Toolkit in React Native. Use when choosing or implementing state management in React Native with Context, Zustand, or Redux.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: react-native-state-management description: Implement local and global state with Context, Zustand, and Redux Toolkit in React Native. Use when choosing or implementing state management in React Native with Context, Zustand, or Redux. metadata: triggers: files: - '/*.tsx' - '/*.ts' keywords: - useState - useContext - zustand - redux - state-management

React Native State Management

Priority: P1 (HIGH)

State Strategy

  • Local State: Use useState for component-scoped state (forms, UI toggles).
  • Lifted State: Share between siblings via parent component.
  • Context: Share across components without prop drilling (theme, auth).
  • Zustand: Lightweight global state for small-medium apps.
  • Redux Toolkit: Complex apps with time-travel debugging needs.
  • Server State: Use @tanstack/react-query for API data (caching, refetching).
const ThemeContext = createContext<ThemeContextType | undefined>(undefined);

export function useTheme() {
  const ctx = useContext(ThemeContext);
  if (!ctx) throw new Error('useTheme must be inside ThemeProvider');
  return ctx;
}

Zustand (Recommended for Most Apps)

import { create } from 'zustand';

const useStore = create((set) => ({
  count: 0,
  increment: () => set((state) => ({ count: state.count + 1 })),
}));

// Usage
const count = useStore((state) => state.count);

Anti-Patterns

  • No Redux for Everything: Start with Context/Zustand.
  • No Prop Drilling: Use Context for global state.
  • No Derived State in State: Compute in render.

References

See references/REFERENCE.md for Context patterns, Zustand store setup, Redux Toolkit, and React Query.

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • Provider
我的收藏