React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.
React Versions A complete release history for React is available on GitHub. Documentation for recent releases can also be found below. See our FAQ for information about our versioning policy and commitment to stability.
If you choose not to assign an explicit key to list items then React will default to using indexes as keys. Here is an in-depth explanation about why keys are necessary if you’re interested in learning more.
In this guide, we will examine the building blocks of React apps: elements and components. Once you master them, you can create complex apps from small reusable pieces.
Our React applications continuously modify the HTML DOM during runtime, sometimes leading to keyboard focus being lost or set to an unexpected element. In order to repair this, we need to programmatically nudge the keyboard focus in the right direction.
We recommend using React Testing Library which is designed to enable and encourage writing tests that use your components as the end users do. For React versions <= 16, the Enzyme library makes it easy to assert, manipulate, and traverse your React Components’ output.
To solve this problem for React users, React 16 introduces a new concept of an “error boundary”. Error boundaries are React components that catch JavaScript errors anywhere in their child component tree, log those errors, and display a fallback UI instead of the component tree that crashed.