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

React19 Concurrent Patterns

  • 913 installs
  • 37.1k repo stars
  • Updated July 28, 2026
  • github/awesome-copilot

react19-concurrent-patterns is an agent skill that preserves React 18 concurrent patterns and adopts React 19 APIs during framework migration.

About

The react19-concurrent-patterns skill covers two concerns during React 19 migration: preserving existing React 18 concurrent patterns and adopting new React 19 APIs after stabilization. Part one documents patterns that must survive migration unchanged, including createRoot, useTransition, useDeferredValue, and Suspense with React.lazy code splitting. Part two introduces React 19 APIs such as the use() hook for promises and context, Actions with useActionState and useFormStatus, useOptimistic, and Suspense for data fetching, with reference files for each. Migration safety rules require leaving concurrent-mode logic untouched during the migration itself and verifying via grep that useTransition, useDeferredValue, Suspense, and startTransition were not modified. New React 19 APIs should be adopted in a post-migration cleanup sprint, not during the core migration pass.

  • Preserves React 18 useTransition, useDeferredValue, and Suspense patterns unchanged.
  • Documents createRoot setup that carries forward from React 18 to React 19.
  • Introduces React 19 use(), Actions, useOptimistic after migration stabilizes.
  • Includes grep verification to confirm concurrent logic was not touched.
  • References split into use(), Actions, and Suspense data-fetching guides.

React19 Concurrent Patterns by the numbers

  • 913 all-time installs (skills.sh)
  • +24 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #401 of 2,277 Frontend Development skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

react19-concurrent-patterns capabilities & compatibility

Capabilities
react 18 concurrent pattern preservation · react 19 api adoption guidance · migration safety grep checks · use() and actions reference routing
Use cases
frontend · refactoring
npx skills add https://github.com/github/awesome-copilot --skill react19-concurrent-patterns

Add your badge

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

Listed on Skillselion
Installs913
repo stars37.1k
Security audit3 / 3 scanners passed
Last updatedJuly 28, 2026
Repositorygithub/awesome-copilot

How do I migrate to React 19 without breaking useTransition, Suspense, or other concurrent patterns from React 18?

Preserve React 18 concurrent patterns and adopt React 19 APIs like useTransition, useDeferredValue, Suspense, use(), useOptimistic, and Actions during migration.

Who is it for?

Developers migrating React 18 codebases to React 19 who need concurrent pattern preservation checklists.

Skip if: Skip when you only need source-level React 19 API rewrites without concurrent mode concerns.

When should I use this skill?

User asks about React 19 concurrent patterns, useTransition migration safety, or adopting use() and Actions.

What you get

A migration plan that keeps React 18 concurrent APIs intact and introduces React 19 hooks in a controlled post-migration sprint.

  • Action handlers
  • useActionState form components

Files

SKILL.mdMarkdownGitHub ↗

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.rendercreateRoot is done. Verify it's correct:

// CORRECT React 19 root (same as React 18):
import { createRoot } from 'react-dom/client';
const root = createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

useTransition No Migration Needed

useTransition from React 18 works identically in React 19. Do not touch these patterns during migration:

// React 18 useTransition  unchanged in React 19:
const [isPending, startTransition] = useTransition();

function handleClick() {
  startTransition(() => {
    setFilteredResults(computeExpensiveFilter(input));
  });
}

useDeferredValue No Migration Needed

// React 18 useDeferredValue  unchanged in React 19:
const deferredQuery = useDeferredValue(query);

Suspense for Code Splitting No Migration Needed

// React 18 Suspense with lazy  unchanged in React 19:
const LazyComponent = React.lazy(() => import('./LazyComponent'));

function App() {
  return (
    <Suspense fallback={<Spinner />}>
      <LazyComponent />
    </Suspense>
  );
}

---

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:

# Verify nothing touched these during migration:
grep -rn "useTransition\|useDeferredValue\|Suspense\|startTransition" \
  src/ --include="*.js" --include="*.jsx" | grep -v "\.test\."

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.

Related skills

How it compares

Use react19-concurrent-patterns for React 19-native form state; prefer older hook patterns only when locked to pre-19 React versions.

FAQ

What does react19-concurrent-patterns cover?

Preserving React 18 concurrent APIs and adopting React 19 use(), Actions, useOptimistic, and Suspense data fetching after migration.

When should I use it?

During or after a React 19 migration when you need to verify concurrent patterns survived and plan new API adoption.

Is react19-concurrent-patterns safe to install?

Review the Security Audits panel on this page before installing in production.

This week in AI coding

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

unsubscribe anytime.