The State of React 2025 survey collected 3,760 responses between November 2025 and January 2026, offering a data-driven snapshot of where the React ecosystem stands right now. Run annually by Devographics (not affiliated with Meta, Vercel, or the React core team), the State of React survey captures how real developers are building, what tools they're reaching for, and where the friction exists.
The 2025 edition lands at a particularly eventful moment: React 19 shipped, the Compiler went stable, the React Foundation launched under the Linux Foundation, Create React App was formally sunset, and AI-assisted coding went from novelty to standard workflow.
In brief:
- React 19 hit 48.4% daily usage among respondents within months of release, with SPAs still dominating at 84.5%.
- Server Components are polarizing: adopted in 45% of new projects but explicitly cited as a pain point by 6% of developers.
- TanStack is emerging as a cohesive client-first alternative to Next.js, with TanStack Query, Router, Start, and Form all gaining ground.
- AI coding tools have standardized on React + shadcn/ui, creating a self-reinforcing adoption cycle that further entrenches React's dominance.
One caveat worth calling out upfront: the survey's respondents skew toward developers who are more plugged-in than average. With 3,760 responses from professionals averaging 8.52 years of experience and a mean age of 33.5, this reflects the engaged segment of the community, not necessarily the entire React population. The survey authors themselves flag this bias, and it's worth keeping in mind as you read the numbers.
This post breaks down the most important findings, from adoption numbers and feature sentiment to the libraries gaining and losing ground, so you can make informed decisions heading into 2026. As the ecosystem shifts this fast, having a backend that works with any frontend framework becomes increasingly valuable. That's the kind of flexibility a headless Content Management System (CMS) like Strapi provides.
React 19 Adoption and Version Usage
Nearly half (48.4%) of daily React users are already on React 19, demonstrating substantial early momentum despite its recent release. Given that React 19 only shipped in late 2024, that adoption curve is steep, especially among this more engaged audience. Real-world adoption across the broader community is likely lower, but the signal is clear: developers who stay current moved fast.
Several factors drove this. The React Compiler's promise of automatic memoization gave teams a compelling reason to upgrade (React Compiler). New hooks like useActionState, useFormStatus, and use() addressed long-standing pain points around form handling and async patterns. The deprecation of forwardRef, replaced by ref as a standard prop, removed a papercut that had annoyed developers for years (React 19).
The sunsetting of Create React App in February 2025 played a role too. CRA broke under React 19 due to unresolvable peer dependency conflicts (see CRA issue #17004), and with no active maintenance to fix the issue, the React team officially deprecated it (CRA sunset announcement). That removed a common entry point and pushed developers toward modern alternatives like Vite, Next.js, and React Router.
As for the 41% still on React 18, large codebases, Server Component concerns, and waiting for ecosystem libraries to catch up are the likely culprits. Most teams learn the hard way that upgrading a major version isn't just about the framework itself. It's about every dependency in your package.json playing nicely together.
While version adoption looks healthy, the more interesting story lies in which features developers are actually using and which ones they're frustrated with.
Features: What's Working, What's Not
Hooks and APIs
Suspense has the highest adoption rate among newer features and high satisfaction to match. That's a clear win. useId is gaining adoption quickly as well. But the real story here is useEffect.
Despite being used by 98% of respondents, useEffect has the lowest satisfaction ratio of any hook (State of React features). It was the number one complaint at 37%, followed by dependency array issues at 21% (a 23.5% increase year-over-year). Developers are vocal about the finicky reactivity model, stale closures, and effect cleanup issues. This is a feature that practically everyone uses and practically everyone struggles with.
The forwardRef deprecation in React 19 was broadly celebrated (React 19). Passing ref as a standard prop is one of those improvements where you wonder why it wasn't always done this way.
React 19's New APIs
The new hooks (use(), useOptimistic, useActionState, useFormStatus) and form Actions are slowly growing in adoption, but none have broken out yet. These are still firmly in the early-adopter phase, which makes sense given how recently React 19 shipped.
Server Components: Polarizing Reception
Server Components and Server Functions are the third and fourth-most-disliked features, respectively. The survey authors called this "troubling for a set of new APIs that was supposed to pave the way towards React's next big evolution."
The negative sentiment stems from multiple directions: complexity, debugging difficulties, Context API incompatibility (59 mentions, the most significant hurdle), testing gaps (24 mentions), and the growing list of directives sparking debate. The December 2025 CVE-2025-55182, a critical remote code execution vulnerability affecting React Server Components, reminded developers that even production-stable APIs carry real-world security risks as the ecosystem continues to evolve (see also Microsoft's analysis).
Dan Abramov's return with RSC blog posts and the RSC Explorer helped demystify the concept for many, but the sentiment data suggests the community isn't sold yet.
What's Generating Curiosity
ViewTransition (currently in React Canary) is generating the most excitement among respondents, promising smooth page animations without heavy third-party libraries.
When it comes to the split between client-side and server-side React, a headless CMS like Strapi works equally well in both worlds. Its REST and GraphQL APIs serve data whether you're fetching in a client-side SPA or inside a Server Component. If you're building with React as your frontend, that flexibility matters.
Developer Sentiment: The Broader Picture
Overall happiness averaged 3.6 out of 5 with a slight downward trend, though the survey cautions it's "far too early to conclude whether it's something to worry about or just a blip." Beyond hooks, ecosystem complexity was cited by 11% of developers.
One respondent captured the frustration well: navigating competing state management solutions, routing libraries, and rapidly evolving metaframeworks has become an increasingly common source of friction. A structured content backend can reduce some of that complexity by decoupling your content layer from frontend architecture decisions.
The top pain points reinforce each other. useEffect frustrations at 37%, dependency array issues at 21%, Server Component headaches at 6% (though notably, 45% of new projects adopted RSC, suggesting the pain is concentrated among active users). The ecosystem is healthy, but the pace of change and the client-versus-server divide create genuine fatigue.
Rendering Patterns: SPAs Still Dominate
Despite the industry narrative pushing server-first architectures, the data tells a different story. SPAs remain dominant at 84.5% usage. Both server-side rendering and static site generation are growing alternatives, but neither is displacing the single-page application.
This creates genuine tension with React's own roadmap, which has invested heavily in server-side capabilities through Server Components and Server Functions. For many teams, the practical choice is still a client-rendered SPA with solid data-fetching patterns, not a full SSR framework. The 34% of developers who skip external state management entirely, relying on useState and useContext, reinforce this pragmatic approach.
Strapi's API-first architecture is rendering-pattern agnostic. Whether you're building an SPA, using SSR, SSG, or ISR, Strapi serves structured content via REST or GraphQL. If you're exploring SSR or SSG with Next.js as your framework, or sticking with a client-rendered approach, the content layer stays the same.
Frameworks and Libraries: The Big Movers
Next.js: Still Dominant, But Sentiment Is Mixed
Next.js remains the most-used React framework at 80% usage among respondents. However, sentiment toward Vercel (the company behind it) is notably negative. Respondents cite lock-in fears, a push for features they didn't ask for, and the founder's controversial political stances.
Neutral sentiment is the majority, but negative outweighs positive for Vercel specifically, a distinction worth noting for teams evaluating long-term framework commitment.
For a deeper comparison, the Strapi blog has a thorough breakdown of Next.js vs React that covers the trade-offs between framework and library approaches.
TanStack: The Breakout Story
TanStack Query remains the go-to for async state management with 68% usage. But the bigger story is the ecosystem around it. TanStack Start is emerging as a "promising client-first alternative to Next.js," offering explicit, type-safe server functions via createServerFn() and deployment flexibility across Vercel, Netlify, Cloudflare Workers, and more. TanStack Form jumped eight positions to 21% usage. TanStack Router provides 100% type-safe routes and parameters.
The Inngest engineering team's documented migration from Next.js to TanStack Start showed approximately 60% faster local development with Vite HMR, clearer mental models through explicit server functions, and better caching control. T3 Chat's migration to TanStack Start for SPA behaviors was another notable real-world endorsement.
If you're exploring this ecosystem, Strapi has a dedicated TanStack integration and a hands-on tutorial on building apps with TanStack Start and Strapi.
Remix's Pivot
In May 2025, the Remix team announced that Remix 3 would move away from React entirely, replacing it with a Preact fork and an imperative programming model built on web standards. There's no automated migration path from Remix 2; it's effectively a complete rewrite. For React developers, the recommended path is React Router v7, which absorbed many Remix features while staying in the React ecosystem.
Other Notable Library Trends
React Hook Form leads form libraries at 17.5 million weekly npm downloads. The 34% of respondents who don't use any state management library, relying on built-in React APIs. CSS Modules (65%) and Sass/SCSS (59%) remain the top styling choices. Axios still leads as the HTTP client, with TanStack Query and SWR following.
The React Compiler and Foundation: Infrastructure Wins
The Compiler: The Feature Everyone's Waiting For
React Compiler 1.0 went stable at React Conf in October 2025, and the reception has been broadly positive. It eliminates the need for manual useMemo, useCallback, and React.memo by performing expression-level memoization at build time, more granular than anything you could do by hand.
Production results from Meta's Quest Store showed 12% faster initial load times and 2.5x faster user interactions with neutral memory impact. The Compiler supports React 17+ and can be adopted incrementally, per-component or per-route.
This is the rare React feature with near-universal positive sentiment. The reason? The Compiler improves the existing model. It makes the code you already write faster without asking you to rethink how you build. Compare that with Server Components, which ask developers to fundamentally change their approach. The difference in reception isn't surprising.
The React Foundation and Ecosystem Governance
The React Foundation was announced at React Conf in October 2025, transitioning React and React Native from Meta's direct stewardship to an independent foundation hosted by the Linux Foundation. Community sentiment is overwhelmingly positive.
The structure is deliberately designed to prevent any single company from dominating. Seven founding members (Amazon, Callstack, Expo, Meta, Microsoft, Software Mansion, Vercel) form the Board of Directors, while a separate Technical Steering Committee operates independently with explicit rules preventing overconcentration of influence.
A novel "continuity clause" allows the Linux Foundation to appoint a temporary arbitrator in case of governance deadlock, a fork-proofing mechanism inspired by crises in other open-source projects.
This matters beyond governance optics. As the ecosystem fragments between client-first approaches (TanStack) and server-first approaches (Next.js/RSC), neutral governance could help bridge the divide. If you're evaluating alternatives to Next.js, knowing that React's technical direction isn't tied to any single framework vendor provides some reassurance.
AI and React: Vibe Coding Changes Everything
React has become the default output when you prompt an AI tool for UI. Tools like v0, Cursor, Lovable, and Bolt.new have made AI-assisted React development mainstream, and they've all standardized on the same stack: React + shadcn/ui.
shadcn/ui's explosive 180% growth (from 20% to 56% usage in two years) is directly tied to its AI-native design. Its copy-paste model (not npm packages) means AI tools can directly modify component code, and Vercel's v0 specifically optimizes its output for shadcn/ui components.
The survey raises a provocative question: "With generative AI's reliance on existing codebases, could React become even more entrenched?" The answer appears to be yes. React's extensive ecosystem provides more training data, which makes AI tools better at generating React code, which drives more developers to React, which generates more training data. This cycle structurally advantages React over alternatives like Vue and Svelte, regardless of their technical merits.
For developers, this means React skills remain highly marketable and AI tools can accelerate React development specifically. As AI tools increasingly generate React frontends, pairing them with a structured, API-driven CMS like Strapi creates a powerful workflow: the AI handles the UI scaffolding, Strapi handles the content layer. That's a natural fit for the rapid-prototyping workflow where you scaffold apps quickly and need a reliable backend.
What This Means for Your React Stack in 2026
Here's what the State of React 2025 data actually tells us:
- React 19 adoption is strong. If you haven't migrated, now is the time. The ecosystem has caught up, and the Compiler alone justifies the upgrade.
- Client-side React isn't going anywhere. SPAs remain the dominant pattern at 84.5% despite server-side hype. Build what fits your use case.
- TanStack is the ecosystem to watch. Query, Router, Start, and Form are forming a cohesive client-first alternative to the Next.js monolith.
- Server Components are polarizing. Adopt them where they genuinely make sense (content-heavy, SEO-critical pages), but don't feel pressured into an architecture that doesn't fit.
- The React Compiler is a universal win. Enable it and let it handle your memoization.
- AI is reshaping how we build with React. Lean into tools like Cursor and v0 for faster development, but maintain human oversight for security and architecture.
- A flexible backend matters more than ever. As the framework landscape fragments, your content layer should be framework-agnostic.
With the React ecosystem offering more choices than ever, from Next.js and TanStack Start to Astro and beyond, Strapi's headless CMS approach ensures your content infrastructure works regardless of which frontend framework you choose today or migrate to tomorrow. Explore all of Strapi's framework integrations to see how the pieces fit together.
All data in this article is sourced from the State of React 2025 survey, conducted by Devographics between November 2025 and January 2026 with 3,760 respondents.
Get Started in Minutes
npx create-strapi-app@latest in your terminal and follow our Quick Start Guide to build your first Strapi project.