Skillshub react-native-state-management
Local and global state patterns with Context, Zustand, and Redux Toolkit. Use when choosing or implementing state management in React Native with Context, Zustand, or Redux. (triggers: **/*.tsx, **/*.ts, useState, useContext, zustand, redux, state-management)
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/react-native-state-management" ~/.claude/skills/comeonoliver-skillshub-react-native-state-management && rm -rf "$T"
manifest:
skills/HoangNguyen0403/agent-skills-standard/react-native-state-management/SKILL.mdsource content
React Native State Management
Priority: P1 (OPERATIONAL)
State Strategy
- Local State: Use
for component-scoped state (forms, UI toggles).useState - 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
for API data (caching, refetching).@tanstack/react-query
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.