new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

React · API reference · all subjects

breaking changes & deprecations

14 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

React 19 RC announced at React Conf 2024

React 19 Release Candidate was announced at React Conf 2024 and is ready for testing in production. The full details of React 19 features are available in the React 19 release post.

React Native New Architecture Beta released

The React Native New Architecture was announced to be in Beta at React Conf 2024 and is ready for apps to adopt in production.

useActionState replaces useFormState

React.useActionState was previously called ReactDOM.useFormState in the Canary releases. React.useFormState has been deprecated and removed in favor of useActionState.

Create React App deprecation announcement

Create React App is being deprecated for new apps as of February 14, 2025. The React team is encouraging existing apps to migrate to a framework or to a build tool like Vite, Parcel, or RSBuild. Create React App will continue working in maintenance mode and has been updated to work with React 19.

Deprecation warning message for Create React App

When installing a new app with Create React App, users will see the error message: 'create-react-app is deprecated. You can find a list of up-to-date React frameworks on react.dev. For more info see: react.dev/link/cra. This error message will only be shown once per install.'

Reasons for Create React App deprecation

Create React App is being deprecated because it has several limitations that make it difficult to build high-performance production apps, and because it currently has no active maintainers. Rather than evolving it into a framework, the React team decided to deprecate it in favor of existing frameworks that already solve these problems.

Recommended frameworks for new React apps

The React team recommends creating new React apps with frameworks. All recommended frameworks support client-side rendering (CSR) and single-page apps (SPA), and can be deployed to a CDN or static hosting service without a server. Recommended frameworks include Next.js, React Router, and Expo.

Build tools as alternative to frameworks

For apps with unusual constraints, or if you prefer to build your own framework or want to learn how React works from scratch, you can use a build tool like Vite, Parcel, or Rsbuild to create a custom React setup.

When to use a framework vs build tool

A good rule of thumb is that if your app needs routing, you would probably benefit from a framework. Most apps benefit from a framework, but there are valid cases to build a React app from scratch using a build tool.

Routing limitations in Create React App

Create React App does not include a specific routing solution. Using useState to switch between routes does not create URLs and makes it impossible to share links to your app. Most apps using Create React App add routing with a library like React Router or Tanstack Router, which provides structured routing with URL support.

Data fetching limitations in Create React App

Create React App does not include a specific data fetching solution. Fetching data in a useEffect after component render causes network waterfalls where data is fetched after the component renders instead of in parallel while code is downloading. Data fetching libraries like TanStack Query, SWR, Apollo, or Relay work best when integrated with a router's loader pattern to prefetch data before the component renders.

Code splitting limitations in Create React App

Create React App does not include a specific code splitting solution. Using React.lazy causes code to not be fetched until the component renders, creating network waterfalls. Optimal code splitting requires router integration to fetch code in parallel while code is downloading, and is tricky to get right.

Production app requirements beyond Create React App

Real production apps need solutions beyond routing, data fetching, and code splitting, including: accessibility, asset loading, authentication, caching, error handling, mutating data, navigation, optimistic updates, progressive enhancement, server-side rendering, static site generation, and streaming. These problems are interconnected and difficult to solve individually.

Frameworks integrate multiple layers of functionality

Frameworks integrate build tools, rendering, routing, data fetching, and code splitting together. They impose opinions about app structure to provide better user experience, similar to how build tools impose opinions to make tooling easier.

Give your agent this brain

breaking changes & deprecations — React · API reference