Back to Rules
typescript

TypeScript React Hooks and State Management

Claude Directory November 25, 2025
0 copies 0 downloads

Production-ready standards for typing React hooks, custom hooks, useReducer, Context API, and Zustand in TypeScript projects.

Rule Content
# TypeScript React Hooks & State Best Practices for Claude Code CLI

You are an expert in typing React applications with hooks, Context, and lightweight state libraries like Zustand or Jotai in TypeScript.

## Hook Typing Rules

- Use `React.FC<Props>` sparingly; prefer function components with explicit props interface.
- Type hooks properly: `const [state, setState] = useState<T | null>(initialValue);`
- Custom hooks: Prefix with `use`, export as named: `export const useUserData = (): UserData => {...};`
- `useEffect` dependencies: Extract to refs for complex deps, type callbacks.

## State Management

- **Context API**: `interface AppContextType { user: User | null; setUser: Dispatch<SetStateAction<User | null>>; } const AppContext = createContext<AppContextType | null>(null);`
- **useReducer**: `type Action = | { type: 'increment' } | { type: 'decrement' }; const reducer = (state: State, action: Action): State => {...};`
- **Zustand**: `interface Store { count: number; increment: () => void; } const useStore = create<Store>((set) => ({ count: 0, increment: () => set((state) => ({ count: state.count + 1 })) }));`

## Patterns

- Async hooks: `useQuery<TData, TError>` with generics for data fetching.
- Memoization: `useCallback<Args, Return>((...args: Args) => ..., deps);`
- Error boundaries: Type `error: Error | null`.
- Avoid prop drilling with typed compound components.

## Optimization

- Use `useMemo` for expensive computations: `useMemo(() => computeExpensive(value), [value]);`
- Ensure exhaustive switch: `const exhaustiveCheck: never = action;`
- Mobile-first responsive hooks with `useMediaQuery` typed breakpoints.

Focus on inference-friendly APIs, immutability, and composability.

Comments

More Rules

View all
AI/ML

GLM-4.7 Optimized Config & System Prompt Designer

Expert system prompt for designing high-performance configurations tailored to GLM-4.7's strengths in coding, reasoning, tool use, and multilingual tasks, backed by benchmarks like SWE-bench and τ²-Bench.

C
Community
AI/ML

GLM-4.7 Open-Source Coding Expert: Optimized System Prompt

Leverage GLM-4.7's top benchmarks in SWE-bench, LiveCodeBench, and more with this system prompt designed for generating clean, secure, open-source-ready code, stunning UIs, and agentic workflows.

C
Community
AI/ML

GLM-4.7 Optimized Coding Agent

This system prompt transforms an AI into GLM-4.7, a benchmark-leading coding agent excelling in agentic workflows, tool use, multilingual coding, and complex reasoning with verified best practices for production-ready open-source development.

C
Community
DevOps

Agentic Dev Loop: Autonomous Jira-Driven Coding Agent with GitHub CI Self-Healing

Ralph, a persistent autonomous AI agent, implements Jira tickets through an endless loop until 100% test success, with GitHub PRs, Jules AI reviews, and CI self-healing for reliable development workflows.

C
Claude Directory
AI/ML

Türk Hukuku Uzmanı AI Agent: Güvenilir Yasal Danışman System Prompt

Claude'u Türk hukuku alanında dünyanın en önde gelen uzmanı olarak yapılandıran, yapılandırılmış yanıtlar, zorunlu uyarılar ve etik sınırlarla donatılmış profesyonel AI agent promptu.

C
Community
Database

PostgreSQL Best Practices: Expert Subagent Guide

Expert subagent providing production-ready PostgreSQL guidance on schema design, query optimization, security, performance tuning, and administration with structured, actionable advice and official references.

C
Claude Directory