Modern React patterns and principles. Hooks, composition, performance, TypeScript best practices. Use when writing or reviewing React components, applying hooks and composition patterns, or improving
Imported from shipshitdev/skills (skills/react-patterns/SKILL.md). Install upstream with npx skills add shipshitdev/skills --skill react-patterns. Copyright stays with the author.
React Patterns
1. Component Design Principles
Component Types
Type
Use
State
Server
Data fetching, static
None
Client
Interactivity
useState, effects
Presentational
UI display
Props only
Container
Logic/state
Heavy state
Design Rules
One responsibility per component
Props down, events up
Composition over inheritance
Prefer small, focused components
2. Hook Patterns
When to Extract Hooks
Pattern
Extract When
useLocalStorage
Same storage logic needed
useDebounce
Multiple debounced values
useFetch
Repeated fetch patterns
useForm
Complex form state
Hook Rules
Hooks at top level only
Same order every render
Custom hooks start with "use"
Clean up effects on unmount
3. State Management Selection
Complexity
Solution
Simple
useState, useReducer
Shared local
Context
Server state
React Query, SWR
Complex global
Zustand, Redux Toolkit
State Placement
Scope
Where
Single component
useState
Parent-child
Lift state up
Subtree
Context
App-wide
Global store
4. React 19 Patterns
New Hooks
Hook
Purpose
useActionState
Form submission state
useOptimistic
Optimistic UI updates
use
Read resources in render
Compiler Benefits
Automatic memoization
Less manual useMemo/useCallback
Focus on pure components
5. Composition Patterns
Compound Components
Parent provides context
Children consume context
Flexible slot-based composition
Example: Tabs, Accordion, Dropdown
Render Props vs Hooks
Use Case
Prefer
Reusable logic
Custom hook
Render flexibility
Render props
Cross-cutting
Higher-order component
6. Performance Principles
When to Optimize
Signal
Action
Slow renders
Profile first
Large lists
Virtualize
Expensive calc
useMemo
Stable callbacks
useCallback
Optimization Order
Check if actually slow
Profile with DevTools
Identify bottleneck
Apply targeted fix
7. Error Handling
Error Boundary Usage
Scope
Placement
App-wide
Root level
Feature
Route/feature level
Component
Around risky component
Error Recovery
Show fallback UI
Log error
Offer retry option
Preserve user data
8. TypeScript Patterns
Props Typing
Pattern
Use
Interface
Component props
Type
Unions, complex
Generic
Reusable components
Common Types
Need
Type
Children
ReactNode
Event handler
MouseEventHandler
Ref
RefObject
9. Testing Principles
Level
Focus
Unit
Pure functions, hooks
Integration
Component behavior
E2E
User flows
Test Priorities
User-visible behavior
Edge cases
Error states
Accessibility
10. Anti-Patterns
❌ Don't
✅ Do
Prop drilling deep
Use context
Giant components
Split smaller
useEffect for everything
Server components
Premature optimization
Profile first
Index as key
Stable unique ID
Remember: React is about composition. Build small, combine thoughtfully.
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
Use this skill only when the task clearly matches the scope described above.
Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Use it
Copy one of these into your project. Installing also returns the manifest and these snippets.
yaml
targets:
- https://api.opensmartroute.ai/api/v1/registry/shipshitdev-skills-react-patterns/manifest # or paste the manifest below
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.
shipshitdev-skills-react-patterns.ocm.jsonjson
{
"ocm": "1",
"id": "shipshitdev-skills-react-patterns",
"kind": "skill",
"name": "react-patterns",
"description": "Modern React patterns and principles. Hooks, composition, performance, TypeScript best practices. Use when writing or reviewing React components, applying hooks and composition patterns, or improving React performance and TypeScript usage.",
"publisher": "shipshitdev",
"version": "1.0.0",
"capabilities": {
"domains": [
"coding"
],
"tags": [
"skill-md",
"react",
"patterns",
"frontend",
"skills-sh"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"Modern React patterns and principles. Hooks, composition, performance, TypeScript best practices. Use when writing or reviewing React components, applying hooks and composition patterns, or improving React performance and TypeScript usage."
],
"primary": false,
"metadata": {
"source": {
"provider": "skills.sh",
"repository": "https://github.com/shipshitdev/skills",
"path": "skills/react-patterns/SKILL.md",
"ref": "HEAD",
"url": "https://github.com/shipshitdev/skills/blob/HEAD/skills/react-patterns/SKILL.md",
"key": "shipshitdev/skills/skills/react-patterns/SKILL.md"
}
},
"instructions": "# React Patterns\n\n## 1. Component Design Principles\n\n### Component Types\n\n| Type | Use | State |\n|------|-----|-------|\n| **Server** | Data fetching, static | None |\n| **Client** | Interactivity | useState, effects |\n| **Presentational** | UI display | Props only |\n| **Container** | Logic/state | Heavy state |\n\n### Design Rules\n\n- One responsibility per component\n- Props down, events up\n- Composition over inheritance\n- Prefer small, focused components\n\n---\n\n## 2. Hook Patterns\n\n### When to Extract Hooks\n\n| Pattern | Extract When |\n|---------|-------------|\n| **useLocalStorage** | Same storage ",
"cost": {
"context_tokens": 990
}
}
Fetch it by URL: GET /api/v1/registry/shipshitdev-skills-react-patterns/manifest?version=1.0.0
Reviews
Star ratings from people who tried it. One review per account; edit yours any time.
No reviews yet. Install it, try it, and be the first to rate it.