Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
oakoss avatar

React Patterns

  • 119 installs
  • 14 repo stars
  • Updated March 2, 2026
  • oakoss/agent-skills

Helps with frontend development tasks during AI-assisted development.

About

react-patterns is a Claude Code skill for frontend development. It helps solo builders move faster with AI-assisted coding.

  • react-patterns
  • Frontend Development
  • AI-coding skill

React Patterns by the numbers

  • 119 all-time installs (skills.sh)
  • +8 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,014 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/oakoss/agent-skills --skill react-patterns

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs119
repo stars14
Last updatedMarch 2, 2026
Repositoryoakoss/agent-skills

What it does

Helps with frontend development tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

React

Overview

Covers component architecture, performance optimization, state management, data fetching, and modern React 19+ APIs. Prioritizes React Compiler compatibility, Server Components, and elimination of data fetching waterfalls.

When to use: Building React applications, optimizing performance, choosing state management, implementing data fetching, reviewing component architecture.

When NOT to use: Non-React frameworks, purely server-side rendering without React, static sites without interactivity.

Quick Reference

PatternAPI / ApproachKey Points
Data fetchinguse(dataPromise)Replaces useEffect+useState fetch pattern
Form handlinguseActionState(action, init)Built-in pending states and error handling
Optimistic UIuseOptimistic(state, updateFn)Instant feedback while server processes
Non-urgent updatesuseTransition()Mark updates as interruptible
Effect eventsuseEffectEvent(fn)Reactive values without re-triggering effects
Form pending statususeFormStatus()Read parent form pending state from child component
Unique IDsuseId()Hydration-safe IDs for accessibility
Server stateReact Query / useSuspenseQueryCaching, deduplication, background refetch
Client state (local)useState / useRefSingle component or transient values
Client state (global)Zustand / ContextCross-component client-only state
Derived stateCompute during renderNever sync derived values with effects
Lazy initializationuseState(() => expensive())Avoid eager computation on every render
Component typesPage, Feature, UIRoute entry, business logic, reusable primitives
MemoizationTrust React Compiler firstManual useMemo/useCallback only when needed
Ref as propref prop on function componentsNo forwardRef needed in React 19
Ref cleanupReturn function from ref callbackCleanup runs on detach instead of null call
Code splittingReact.lazy() + SuspenseLazy-load heavy components
Parallel fetchesPromise.all()Eliminate sequential await waterfalls
Request dedupReact.cache()Per-request server-side deduplication
Abort server workcacheSignal()Cancel expensive async work when client disconnects
Resource preloadingprefetchDNS, preconnect, preload, preinitOptimize resource loading from components
State preservation<Activity>Hide UI while keeping state mounted

Common Mistakes

MistakeCorrect Pattern
Fetching data in useEffect with useStateUse the use() API or React Query for data fetching with built-in caching
Storing derived values in state and syncing with effectsCompute derived values during render; never use effects for state synchronization
Wrapping everything in useMemo and useCallbackTrust React Compiler first; only add manual memoization for expensive computations or memoized children
Using array.sort() which mutates stateUse array.toSorted() for immutable sorting to avoid unexpected re-renders
Using && for conditional renderingUse ternary condition ? <Component /> : null to avoid rendering falsy values like 0
Using Math.random() or Date for IDsUse useId() for hydration-safe unique identifiers
Putting reactive values in effect deps to read latest valueUse useEffectEvent to access latest values without re-triggering effects
Creating object literals as effect dependenciesHoist static objects outside the component or use primitive dependencies
Using forwardRef in React 19 projectsPass ref directly as a prop; forwardRef is deprecated in React 19
Mutating props or state during renderFollow Rules of React for React Compiler compatibility: pure renders, no side effects

Delegation

  • Explore component architecture and identify performance bottlenecks: Use Explore agent to profile re-renders, analyze bundle size, and trace data fetching waterfalls
  • Implement React feature with proper patterns: Use Task agent to build components following Server Component, Suspense, and React 19 conventions
  • Design frontend architecture and state management strategy: Use Plan agent to structure component hierarchy, select state management, and plan data fetching approach
If the shadcn-ui skill is available, delegate component variant and theming questions to it.
If the tailwind skill is available, delegate utility-first styling and design token questions to it.
If the zustand skill is available, delegate global client state management questions to it.

References

  • Component patterns, state management, and useEffect decisions
  • Performance optimization: waterfalls, bundles, and re-renders
  • Hooks, Server Actions, and React 19 APIs
  • React Compiler patterns and re-render optimization
  • Server-side rendering and React Server Components
  • Anti-patterns and troubleshooting guide

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.