Building Great User Experiences with Concurrent Mode and Suspense

November 5th, 2019

At React Conf 2019 we announced an experimental release of React that supports Concurrent Mode and Suspense. In this post we’ll introduce best practices for using them that we’ve identified through the process of building the new This post will be most relevant to people working on data fetching libraries for React. It shows…

Preparing for the Future with React Prereleases

October 21st, 2019

To share upcoming changes with our partners in the React ecosystem, we’re establishing official prerelease channels. We hope this process will help us make changes to React with confidence and give developers the opportunity to try out experimental features. This post will be most relevant to developers who work on frameworks, libraries, or developer tooling….

Introducing the New React DevTools

August 14th, 2019

We are excited to announce a new release of the React Developer Tools, available today in Chrome, Firefox, and (Chromium) Edge! What’s changed? A lot has changed in version 4! At a high level, this new version should offer significant performance gains and improved navigation experience. It also offers full support for React Hooks, including…

React v16.9.0 and the Roadmap Update

August 7th, 2019

Today we are releasing React 16.9. It contains several new features, bugfixes, and new deprecation warnings to help prepare for a future major release. New Deprecations Renaming Unsafe Lifecycle Methods Over a year ago, we announced that unsafe lifecycle methods are getting renamed: componentWillMount → UNSAFE_componentWillMount componentWillReceiveProps → UNSAFE_componentWillReceiveProps componentWillUpdate → UNSAFE_componentWillUpdate React 16.9 does…

Is React Translated Yet? ¡Sí! Sim! はい!

February 23rd, 2019

We’re excited to announce an ongoing effort to maintain official translations of the React documentation website into different languages. Thanks to the dedicated efforts of React community members from around the world, React is now being translated into over 30 languages! You can find them on the new Languages page. In addition, the following three…

React v16.8: The One With Hooks

February 6th, 2019

With React 16.8, React Hooks are available in a stable release! What Are Hooks? Hooks let you use state and other React features without writing a class. You can also build your own Hooks to share reusable stateful logic between components. If you’ve never heard of Hooks before, you might find these resources interesting: Introducing…

React v16.7: No, This Is Not The One With Hooks

December 19th, 2018

Our latest release includes an important performance bugfix for React.lazy. Although there are no API changes, we’re releasing it as a minor instead of a patch. Why Is This Bugfix a Minor Instead of a Patch? React follows semantic versioning. Typically, this means that we use patch versions for bugfixes, and minors for new (non-breaking)…

React 16.x Roadmap

November 27th, 2018

You might have heard about features like “Hooks”, “Suspense”, and “Concurrent Rendering” in the previous blog posts and talks. In this post, we’ll look at how they fit together and the expected timeline for their availability in a stable release of React. tl;dr We plan to split the rollout of new React features into the…

React Conf recap: Hooks, Suspense, and Concurrent Rendering

November 13th, 2018

This year’s React Conf took place on October 25 and 26 in Henderson, Nevada, where more than 600 attendees gathered to discuss the latest in UI engineering. Sophie Alpert and Dan Abramov kicked off Day 1 with their keynote, React Today and Tomorrow. In the talk, they introduced Hooks, which are a new proposal that…

React v16.6.0: lazy, memo and contextType

October 23rd, 2018

Today we’re releasing React 16.6 with a few new convenient features. A form of PureComponent/shouldComponentUpdate for function components, a way to do code splitting using Suspense and an easier way to consume Context from class components. Check out the full changelog below. React.memo Class components can bail out from rendering when their input props are…