---
title: "Time to take the State of React 2025 survey"
publication: "React Status"
issue: 452
published_at: "2025-11-19"
canonical_url: "https://react.statuscode.com/issues/452"
---

Plus a new way to create native apps with React, thoughts on over-abstracted components, and the story of a large Enzyme to RTL migration. |        

#​452 — November 19, 2025 

[Read on the Web](https://react.statuscode.com/issues/452)  

Together with [![Sentry logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_100/e_make_transparent/co_white,e_outline:7/xdmchdxkka938lxfr86f.png)](https://blog.sentry.io/ai-code-review-30k-bugs-lighter-50-faster/?utm_source=reactstatus&utm_medium=paid-community&utm_campaign=aicodereview-fy26q4-aicodereviewlaunch&utm_content=newsletter-30k-blog-learnmore)  React Status  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/thylucbd0cbx3euryyp4.jpg)](https://github.com/tmikov/imgui-react-runtime)  

[imgui-react-runtime: React + Dear ImGui + Static Hermes](https://github.com/tmikov/imgui-react-runtime) — When the author [teased a demo](https://x.com/tmikov/status/1979771014340047088) of this on X a few weeks ago, I wasn’t sure if it would get released, but here it is. A new way to put together native apps using React and the popular lightweight GUI library [Dear ImGui.](https://github.com/ocornut/imgui) Always great to see more options in this space! 

Tzvetan Mikov   

[Time to Take the _State of React 2025_ Survey](https://survey.devographics.com/en-US/survey/state-of-react/2025) — Devographics’ popular annual survey of the React ecosystem is back. Submissions close on November 25 – next Tuesday. We’ll share the results as soon as they’re out, but you can [enjoy 2024’s results here](https://2024.stateofreact.com/en-US) for now. 

Devographics   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/4a0e29b8.png)](https://blog.sentry.io/ai-code-review-30k-bugs-lighter-50-faster/?utm_source=reactstatus&utm_medium=paid-community&utm_campaign=aicodereview-fy26q4-aicodereviewlaunch&utm_content=newsletter-30k-blog-learnmore) 

[Ship Faster with AI Code Review](https://blog.sentry.io/ai-code-review-30k-bugs-lighter-50-faster/?utm_source=reactstatus&utm_medium=paid-community&utm_campaign=aicodereview-fy26q4-aicodereviewlaunch&utm_content=newsletter-30k-blog-learnmore) — How many bugs has Sentry’s AI Code Review caught before production? Over 30,000. 🤯 It keeps getting better, now 50% faster and offering agent prompts to automate fixes. [Try Sentry for free](https://blog.sentry.io/ai-code-review-30k-bugs-lighter-50-faster/?utm_source=reactstatus&utm_medium=paid-community&utm_campaign=aicodereview-fy26q4-aicodereviewlaunch&utm_content=newsletter-30k-blog-learnmore%20). 

Sentry sponsor   

[Tooltip Components Should Not Exist](https://tkdodo.eu/blog/tooltip-components-should-not-exist) — Dominik challenges some common wisdom in his typically erudite fashion. Stand-alone tooltip components are the wrong abstraction when separated from the underlying UI features that use them. This thinking can apply to many other UI affordances too, so the broad idea is well worth considering. 

Dominik Dorfmeister (AKA TkDodo)   

**IN BRIEF:** 

- Vercel has announced automatic [support for TanStack Start apps](https://vercel.com/changelog/support-for-tanstack-start).
- 🎨 [ZenPaint](https://zenpaint.org/) is a cute React-powered 'pixel perfect' recreation of the original MacPaint for the Web.
- It looks like [CSS Grid support might be coming to React Native](https://github.com/facebook/yoga/pull/1865) soon.   

[Moving Mountains: How We Migrated from Enzyme to React Testing Library](https://product.hubspot.com/blog/migrated-from-enzyme-to-react-testing-library) — [Enzyme](https://enzymejs.github.io/enzyme/) was a popular testing approach for React apps but hasn’t seen a release in years. It lives on in some apps, however, and HubSpot tells the tale of how they migrated _“more than 76,000 tests”_ to a more modern approach. 

Charley Pugmire (HubSpot)   

[When Everyone’s a Developer, How Do We Promote the Web Platform Over React?](https://webtechnology.news/when-everyones-a-developer-how-do-we-promote-the-web-platform-over-react/) — A thought piece from the former founder of _ReadWriteWeb_ on the idea that AI models ‘default to React and Next.js’ in preference to using widely available web/browser-native solutions. 

Richard MacManus   

[Save Up to 40% and Deploy Your Static Sites to Any Cloud with S3-Compatible Storage](https://www.cloud66.com/products/static-sites/) — Use any static site generator you want. We support many of the most popular ones and if we don't support yours, you can use your own custom build process on our hosted BuildServers. 

Cloud 66 sponsor   

📄 [Nativewind: Speeding up Styling in React Native](https://hashrocket.com/blog/posts/nativewind-speeding-up-styling-in-react-native) – [NativeWind](https://www.nativewind.dev/) is an approach for styling React Native apps with Tailwind CSS. Jack Rosa 

📄 [Encapsulate as Much State as Possible in Your Component](https://blacksheepcode.com/posts/encapsulate_as_much_state_as_possible) David Johnston  

🛠 Code, Tools & Libraries 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xcxaikfffjs397xfjsyj.jpg)](https://fumadocs.dev/)   

[Fumadocs: A Documentation Framework for React](https://fumadocs.dev/) — A developer-oriented framework for building documentation sites, including in a headless form for which you’d provide your own UI (or you can use themes). It can integrate with other CMS systems, has native support for Markdown and MDX, and supports Next.js, TanStack Start, Waku, and React Router. 

Fuma Nama   

💡 [Docusaurus](https://docusaurus.io/) is another option in this space, with a somewhat different feature set.  

[TanStack DB 0.5, Now with Query-Driven Sync](https://tanstack.com/blog/tanstack-db-0.5-query-driven-sync) — TanStack DB is a client‑first reactive data store that uses differential dataflow to power live, relational queries, sub‑ms incremental updates, and seamless optimistic writes. In v0.5, a component’s query becomes the API call too. _“Just write your query and TanStack DB figures out exactly what to fetch.”_ 

Willis, De Parre, and Matthews   

[ESLint Plugin for Baseline JavaScript](https://baselinejs.vercel.app/) — The winner of last month's [Baseline Tooling Hackathon](https://web.dev/blog/baseline-hackathon-2025-winners) is an ESLint plugin that flags code that’s using features newer than your configured [Baseline](https://web.dev/baseline) target (features broadly supported by modern browsers). 

Ryuya Hasegawa   

- 📺 [React Player 3.4](https://github.com/cookpete/react-player) – React component for playing a variety of video URLs, including YouTube, Facebook and Vimeo. ([Live demo.](https://cookpete.github.io/react-player/))
- [react-native-mmkv 4.0](https://github.com/mrousavy/react-native-mmkv) – Fast key/value store for React Native apps – there's [an upgrade guide](https://github.com/mrousavy/react-native-mmkv/blob/main/docs/V4_UPGRADE_GUIDE.md) for existing users as a rewrite to Nitro has resulted in some changes.
- [React Stripe.js 5.4](https://github.com/stripe/react-stripe-js) – Components for Stripe.js and Stripe Elements.
- [Rockpack 7.0](https://github.com/AlexSergey/rockpack) – React app starter/generator.      

📰 Classifieds   

Add lightning-fast, on-device 1D/2D code scanning to your web app with [STRICH](https://strich.io/?ref=react-status). Easy integration, simple pricing, [free trial and demo!](https://strich.io/?ref=react-status) 

--- 

🛣️ _[The Road to Next](https://www.road-to-next.com/?utm_source=frontend_weekly&utm_medium=newsletter&utm_campaign=next_course)_ is a course by Robin Wieruch for learning full-stack web development with Next.js 15 and React 19. The perfect match for JavaScript developers ready to go beyond the frontend.    

📢 Elsewhere in the ecosystem  

Some other interesting stories in the broader landscape: 

- Evan Hahn is [experimenting with making TypeScript immutable-by-default.](https://evanhahn.com/typescript-immutability-experiment/)
- 🤖 Google introduced the hotly awaited preview of [Gemini Pro 3](https://blog.google/products/gemini/gemini-3-collection/) yesterday. My experiments show it functions very well for coding purposes. [Here's a developer-oriented guide](https://ai.google.dev/gemini-api/docs/gemini-3?thinking=high) to what's new. GitHub Copilot has also [already added support.](https://github.blog/changelog/2025-11-18-gemini-3-pro-is-in-public-preview-for-github-copilot/)
- [The latest version of Visual Code, v1.106, is out.](https://code.visualstudio.com/updates/v1_106) You can now select deleted code in diffs, 'snooze' inline suggestions directly from the gutter icon, the 'Go to Line' command gets some improvements if you want to go to a certain byte or column offset, and [Terminal IntelliSense](https://code.visualstudio.com/updates/v1_106#_terminal-intellisense) is now considered stable.
- [Git 2.52 has been released](https://github.blog/open-source/git/highlights-from-git-2-52/) with a variety of minor features, including a new `git last-modified` command for determining which commit most recently modified each file in a given directory.
- PlanetScale, best known for their cloud-based MySQL service, has [unveiled their $5/mo Postgres offering](https://planetscale.com/blog/5-dollar-planetscale-is-here), should you need a cheap Postgres instance in the cloud.
- Did you know you can script LibreOffice with JavaScript? Even better, [you can use it to create a Wordle clone.](https://bojidar-bg.dev/blog/2025-11-11-wordle-libreoffice/)         

Curated by Peter Cooper and Terence C. Gannon. 

A **[Cooperpress](https://cooperpress.com/)** publication. 

[Change your email address](https://react.statuscode.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://react.statuscode.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
