An App Developer's Guide to React 19: What You Need to Know and Everything You Can Safely Ignore

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2026
November 17 - 20, 2026
New York, US & Online
Upcoming event
React Summit US 2026
React Summit US 2026
November 17 - 20, 2026. New York, US & Online
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Get started

React 19 introduces a huge number of new capabilities and APIs. So, what do you need? What can you implement today? And what should leave for framework authors to integrate?

Even if you don't plan to embrace Server Components, there are new capabilities in React 19 to improve speed, clarify code, and even eliminate long standing dependencies.

In this practical and progressive overview, you'll learn everything you need to be prepared for a React 19 upgrade.

This talk has been presented at React Summit US 2024, check out the latest edition of this React Conference.

FAQ

React 19 emphasizes TypeScript, endorses the testing library philosophy, embraces compilers, and improves integration with web platforms.

React 19 encourages the use of TypeScript over runtime type safety features, which are being phased out. It provides better useReducer types and requires arguments in useRef for improved type safety.

useActionState in React 19 allows developers to integrate familiar form APIs into React, enabling asynchronous form handling while maintaining immediate user feedback with useOptimistic.

React 19 introduces useActionState and formAction, which integrate web form APIs into React, allowing for asynchronous form handling and optimistically updating UI states.

When upgrading to React 19, use code mods to address API removals, review and update dependencies, and prepare for community-driven library updates.

If useOptimistic fails, it reverts the state back to its previous value, ensuring consistent user experience and state management.

React 19 recommends using the testing library philosophy, moving ACT into the React proper library, and eliminating test utils and shallow rendering.

Potential challenges include dealing with unmaintained older dependencies, adapting to API removals, and the need to critically evaluate existing libraries for necessity.

Integrating web forms with React in version 19 aligns React more closely with web standards, allowing developers to use forms as they were intended on the web, while benefiting from React's control and state management capabilities.

APIs such as prop types, default props, context types, get child context, string refs, create factory, module pattern factory, test utils, React on render, React on hydrate, unmount component at node, find DOM node, React test renderer, and shallow are being removed.

Michael Chan
Michael Chan
33 min
19 Nov, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Today's Talk focused on React 19 and its features, APIs, changes, and optimizations. The speaker emphasized the importance of migrating apps and building with React 19. They discussed the high-level features of React 19, including TypeScript emphasis and the testing library philosophy. The Talk also covered the APIs and integration of React 19, as well as the changes and type safety it brings. The speaker highlighted the improvements in useReducer types and the use of TypeScript. They introduced useActionState for migrating code and the useOptimistic hook for maintaining state immediacy. Real-time updates, action functions outside components, and the benefits of using the 'use' prefix in React were also discussed. The Talk touched on upgrade considerations, the role of RSEs and server actions in React, and the current state of RSC development. Overall, the Talk provided valuable insights into the new features and enhancements in React 19 and their impact on the development process.

1. Introduction to React Migration

Short description:

Thank you all for being here. Today we will talk about what React means for us. I have been working in developer education for the past five years, helping teams migrate to new technologies. In this session, you will learn about migrating your apps and building with React 19.

Hey, thank you so much, everyone, for being here. I know that right now in the big theater there is a, like, the future of React. Everything is going to be coming down the pipe in the future. And I was actually really excited to have the opportunity to be in a smaller room with people to talk about what React actually means for us today.

For the last, I guess, like five years, I've been doing developer education with various teams. I worked at Storybook and Chromatic for a little bit, and more recently with WorkOS, kind of figuring out the auth thing for everybody. And before that I worked as a front-end architect for a company for, like, ten years. And something that I got to do was communicate how we were going to successfully migrate to whatever new thing that we needed to migrate to and kind of build up a plan for that.

So in this session, you're going to see a lot of diffs, you're going to see a lot of, you know, charts, opinions about kind of what the, like, today, next week, the next handful of months look like for you as you start migrating your apps and building with React 19. So if you're in, let's go.

2. React 19 Features

Short description:

I made the mistake of making all the slides a webpage on my website. You can access them to view and interact with. I'm Chan Tastic on social media, used to do a podcast called React Podcast. Now I post about microplastics. I work for WorkOS, which provides a login box for a million active users. Let's talk about the high-level features of React 19: TypeScript emphasis, testing library philosophy, and more.

Okay. So I made the unadvisable mistake of making all of these slides a webpage on my website. So it may be kind of glitchy, but you will have access to them. So if you want to pull those up, you can kind of go through those, click around, do everything. You should be seeing everything that I'm seeing. If not, I'm sorry. It should resolve at some point soon. I have, like, my frame is a little bit weird. I don't know if I did something.

Okay. So first, I'm Chan Tastic on, like, social medias. I used to do a podcast that you may have heard called React Podcast. I stopped a while ago due to my midlife crisis, unfortunately. So now I just, like, you know, post nonsense about microplastics on my social medias. So if you want to hear more of that great content, you can go there. And like I said, I work for a company called WorkOS. We make the best login box in the world, and it's free for a million active users, and it'll take you everything from a prototype to enterprise ready. It's pretty great. So with that out of the way, let's talk.

I want to make sure that if you end up having to leave, like, in five minutes, that you get the most out of this talk. So the big high level feature or kind of things that we're learning about React 19 are as far as I can tell, like, four big things. So first and foremost, if you look at the migration docs, there is a huge emphasis on really encouraging TypeScript. You'll see that a lot of the runtime type safety features that have been in React previously are fully going away. And like half of the migration doc just talks about improvements to types, type, like, partnerships with the TypeScript definitely typed, et cetera. There's also endorsing the testing library philosophy, where you kind of test from the outside in. This benefits accessibility of your components. It's like really is the best way to test. It makes your tests more durable. We're getting away with test utils and shallow rendering and all that kind of stuff. We're going to cover that.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

React Compiler - Understanding Idiomatic React (React Forget)
React Advanced 2023React Advanced 2023
33 min
React Compiler - Understanding Idiomatic React (React Forget)
Top Content
Joe Savona
Mofei Zhang
2 authors
The Talk discusses React Forget, a compiler built at Meta that aims to optimize client-side React development. It explores the use of memoization to improve performance and the vision of Forget to automatically determine dependencies at build time. Forget is named with an F-word pun and has the potential to optimize server builds and enable dead code elimination. The team plans to make Forget open-source and is focused on ensuring its quality before release.
If You Were a React Compiler
React Summit US 2024React Summit US 2024
26 min
If You Were a React Compiler
Top Content
In this talk, the speaker aims to build an accurate understanding of how the new React compiler works, focusing on minimizing re-renders and improving performance. They discuss the concept of memoization and how it can be used to optimize React applications by storing the results of function calls. The React compiler automates this process by analyzing code, checking dependencies, and transpiling JSX. The speaker emphasizes the importance of being aware of memory concerns when using memoization and explains how the React compiler detects changes in function closure values. They also mention the Fibre Tree, which drives the reconciliation process and helps optimize performance in React. Additionally, the speaker touches on JSX transpilation, compiler caching, and the generation of code. They encourage developers to understand the code generated by the compiler to optimize specific sections as needed.
React Compiler Internals
React Summit 2025React Summit 2025
23 min
React Compiler Internals
Top Content
Introduction to React Compiler, its benefits, and the problem of memoization in React. Performance issues due to stateful components in React, solution with React.memo and use memo, and the benefits of React compiler in automating memoization. Compiler's transformation into high-level intermediate representation provides a clearer understanding of code operations and data flow, addressing the issues with unique identifiers for variables in complex scenarios. Compiler ensures each variable is assigned exactly once through single static assignment, resolving issues with variable values based on code paths and introducing unique names for assignments. Effects describe how operations interact with data, ensuring safe caching with types like read, store, capture, mutate, and freeze effects. The compiler understands operations but needs to identify values that change between renders for React, leading to the reactive analysis phase to determine reactive values in the component. Variables marked as reactive for potential changes between renders are optimized for caching. Compiler identifies dependencies to group operations for efficient caching. Scopes are established to cache related variables together and ensure efficient rendering and performance improvement in the final JavaScript code. Compiler sets up cache slots for dependencies and outputs to optimize performance. Scopes work independently to recalculate based on changes, ensuring efficient memoization. React Compiler streamlines memoization, providing automatic correct optimizations without manual burden, paving the way for performance-focused code.
Goodbye, useState
React Summit US 2025React Summit US 2025
29 min
Goodbye, useState
Hello, React Summit and goodbye, you states. Introduction of the speaker, David K. P., creator of Xstate library. Discussion on challenges with useEffect, managing multiple useEffects, implications of state overuse, optimizing state management in React, enhancing form data handling, effective state management strategies, innovative state management approaches, state management best practices, exploring state management options, promoting best practices, and exploring state management tools.
Everything You Need to Know About React 19
React Summit US 2024React Summit US 2024
29 min
Everything You Need to Know About React 19
React 19 introduces new features such as React Compiler and React Actions, which optimize code and provide better performance. The useOptimistic hook allows for optimistically updating UI, while the UseFormStatus hook tracks loading states and enables button disabling. The introduction of the 'action' attribute simplifies form handling and data retrieval. React 19 eliminates the need for useMemo and useCallback thanks to the React Compiler. The stability of React 19 has been observed in side projects without major issues.
What Refs Can Do for You
React Summit US 2024React Summit US 2024
27 min
What Refs Can Do for You
Today's Talk focused on using refs and profiling Agigrid in React. The speaker shared their experience with optimizing custom cell components and performance, including using memo and leveraging the React compiler. They also discussed improving performance with manual style updates and refactoring the use of useEffect. The speaker highlighted the use of ref callbacks, which can be implemented with useLayoutEffect. React 19 introduces changes to the ref callback approach. The Talk touched on using React DevTools and CSS variables for monitoring renders. It also discussed the compatibility of Azure Grid with React and the trade-offs between using React components and vanilla JavaScript. The speaker emphasized the importance of considering the DX improvements and the complexity of not seeing a React component tree in the dev tools. The Talk concluded with a mention of AG Grid features, handling refs at various levels, and the recommendation to consult with Stephen for technical questions and application architecture.

Workshops on related topic

Mastering React Server Components and Server Actions in React 19
React Advanced 2024React Advanced 2024
160 min
Mastering React Server Components and Server Actions in React 19
Workshop
Maurice de Beijer
Maurice de Beijer
Calling all React developers! Join us for an immersive 4-hour workshop diving deep into React Server Components and Server Actions. Discover how these game-changing technologies are revolutionizing web development and learn how to harness their full potential to build lightning-fast, efficient applications.
Explore the world of React Server Components, seamlessly blending server-side rendering with client-side interactivity for unmatched performance and user experience. Dive into React Server Actions to see how they combine client-side interactivity with server-side logic, making it easier to develop interactive applications without traditional API constraints.
Get hands-on experience with practical exercises, real-world examples, and expert guidance on implementing these technologies into your projects. Learn essential topics such as the differences between Server and Client Components, optimizing data fetching, passing data effectively, and maximizing performance with new React hooks like useActionState, useFormStatus and useOptimistic.
Whether you're new to React or a seasoned pro, this workshop will equip you with the knowledge and tools to elevate your web development skills. Stay ahead of the curve and master the cutting-edge technology of React 19. Don't miss out - sign up now and unleash the full power of React!
Evolution of Form Management in React
React Summit US 2024React Summit US 2024
72 min
Evolution of Form Management in React
Workshop
Adrian Hajdin
Adrian Hajdin
Learn how to handle forms in React using the latest features, such as startTransition, useTransition, useOptimistic, and useActionState, with and without React 19 server actions, alongside proper validation, error handling, and best practices.The workshop will begin by demonstrating traditional form handling using useState and useEffect for client-side rendering. Gradually, we'll transition to using the latest React 19 features, including server-side forms and the newest hooks for managing form states and errors. By the end of the workshop, participants will understand how to create robust forms with proper validation and error handling.Learning GoalsLatest React 19 Hooks — useTransition, useFormStatus, useOptimistic, useActionState, useDeferredValueServer ActionsRevalidationsServer-side ValidationError handlingSecurity practices