← Prompts
Reference / Understand Everything Claude Code
React Patterns
--- paths: - "**/*.tsx" - "**/*.jsx" - "**/components/**/*.ts" - "**/components/**/*.js" - "**/app/**/*.tsx" - "**/pages/**/*.tsx" --- # React Patterns > This file extends [typescript/pat
# React Patterns
> This file extends [typescript/patterns.md](../typescript/patterns.md) and [common/patterns.md](../common/patterns.md) with React specific content. For hook-specific rules see [hooks.md](./hooks.md).
## Container / Presentational Split
Container components own data fetching, state, and side effects. Presentational components receive props and render — no service calls, no hooks beyond local UI state.
```tsx
// Container — owns data
export function UserPage({ userId }: { userId: string }) {
const { data: user, isLoading } = useUser(userId);
if (isLoading) return <Spinner />;
if (!user) return <NotFound />;
return <UserCard user={user} onSelect={handleSelect} />;
}
// Presentational — pure
export function UserCard({ user, onSelect }: { user: User; onSelect: (id: string) => void }) {
return <button onClick={() => onSelect(user.id)}>{user.name}</button>;
}
```
## State Location Decision Tree
Sign in to view the full prompt.
Sign InTags
Classification
Reference Documentation, cheatsheets, setup guides
Reference Understand
Explain or analyzeScope Project
This codebase Manual Manually placed / Persistent