react19-concurrent-patterns
Preserve React 18 concurrent patterns and adopt React 19 APIs (useTransition, useDeferredValue, Suspense, use(), useOptimistic, Actions) during migration.
By github · 1,090 installs
npx skills add github/awesome-copilot --skill react19-concurrent-patterns
Source repository · Upstream listing
React 19 Concurrent Patterns
React 19 introduced new APIs that complement the migration work. This skill covers two concerns:
1. Preserve existing React 18 concurrent patterns that must not be broken during migration
2. Adopt new React 19 APIs worth introducing after migration stabilizes
Part 1 Preserve: React 18 Concurrent Patterns That Must Survive the Migration
These patterns exist in React 18 codebases and must not be accidentally removed or broken:
createRoot Already Migrated by the R18 Orchestra
If the R18 orchestra already ran, ReactDOM.render → createRoot is done. Verify it's correct:
useTransition No Migration Needed
useTransition from React 18 works identically in React 19. Do not touch these patterns during migration:
useDeferredValue No Migration Needed
Suspense for Code Splitting No Migration Needed
Part 2 React 19 New APIs
These are worth adopting in a post migration cleanup sprint. Do not introduce these DURING the migration stabilize first.
For full patterns on each new API, read:
references/react19 use.md the use() hook for promises and context
references/react19 actions.md Actions, useActionState, useFormStatus, useOptimistic
references/react19 suspense.md Suspense for data fetching (the new pattern)
Migration Safety Rules
During the React 19 migration itself, these concurrent mode patterns must be left completely untouched :
If the migrator touched any of these files, review the changes the migration should only have modified React API surface (forwardRef, defaultProps, etc.), never concurrent mode logic.