Should I learn React js in 2020

First steps

This page provides an overview of the React documentation and all related resources.

React is a JavaScript library for creating user interfaces. Find out more about what React is about and what makes it so unique on our homepage or in the tutorial.


Try out React

React was designed from the beginning for a step-by-step introduction and you can decide how much or how little of React you want to use. The links in this section will help you get started, whether you're just adding a little interactivity to a small HTML page, expanding existing applications, or building a more complex application.

Online sandpit

If you want to play around with React out of interest, you can use code sandboxes online. Try “Hello World” on CodePen, CodeSandbox or Stackblitz.

If you prefer to use your own text editor, you can download this HTML file, edit it locally and call it up in your browser. The file does a slow code conversion at runtime, so we would only recommend it for simpler demonstration purposes.

Add React to a website

You can add React to any HTML page in a minute. Then you can either continuously expand the React parts of your application, or use it only for certain self-contained, dynamic components (e.g. for forms).

Create a new React app

The best thing to do is to start a new React project with a simple HTML page and a few script tags. You have everything set up within a minute!

As your application grows, you may want to consider a more integrated setup. There are several collections of JavaScript tools that we can recommend for larger applications. Each of these collections requires minimal to no preconfiguration. Still, they'll give you the full functionality of the React ecosystem. Learn more about it.

Learn React

React attracts beginners from all sorts of backgrounds, each with their own learning style. Hopefully you will find these sections helpful whether you prefer a more theoretical or practical approach.

Like any other unfamiliar technology, React has a certain learning curve. With practice and patience you will definitely get the hang of it!

First examples

The React homepage contains a few React examples with a live editor. Even if you haven't done anything with React before, you can try it out a little and see what effects your changes will have.

React for beginners

If you should get the feeling that the React documentation is progressing faster than you are used to, we can recommend the React overview by Tania Rascia to your heart. This introduces the most important React concepts in detail and in a beginner-friendly way. When you're done, just try the documentation again!

React for designers

If you have a design background this collection could be very helpful to you.

JavaScript Resources

The React documentation requires sound knowledge of JavaScript. You don't have to be an expert, but you will find it much harder to learn React and JavaScript at the same time.

We recommend going through this JavaScript overview and checking your level of knowledge. It will take anywhere from 30 minutes to an hour of your time, but after that you should feel more confident about learning React.

Tip:

If you are confused by some JavaScript functions, we can recommend MDN and javascript.info for you to look up. There is also our community forum where you can ask for help.

Practical tutorial

If you prefer to learn through exercises, then check out our practical tutorial. There we will create the game “tic-tac-toe” in React. You may want to skip this part since you don't want to make games, but at least give it a chance. In this tutorial you will learn basic techniques used in all React applications find use and give you a deeper understanding.

Step by step guide

If you prefer Step by step concepts To learn, the Main Concepts Guide is right for you to get started. All chapters build on each other, so you won't miss a thing if you read everything one after the other in the correct order.

Think in React

Many users write that after reading Thinking in React, they “clicked”. This is probably the oldest guide, but it still has its raison d'etre.

Recommended courses

Sometimes people find third-party books and video courses more helpful than the official documentation, so we keep a list of recommended sources. Some are even available for free.

Advanced concepts

Once you are familiar with the main concepts and have played around a little with React, you may be interested in the more advanced concepts. This section shows you powerful React features like context and refs, but these are used less often.

API reference

This section of the documentation is useful if you want to learn more about the React API. For example, the API reference describes in detail how it works and for what use the different lifecycle methods are useful.

Glossary and FAQ

The glossary gives you an overview of the terms that appear most frequently in the React documentation. There is also an FAQ in which we deal with small questions on general topics such as: AJAX requests, states in components or file structures.

Stay up to date

The React Blog is the official source for news from the React team. All important information, including release notes or discontinued functionality, will be published there first.

You can also follow our account, @reactjs, on Twitter. But you wouldn't miss anything important if you just read the blog.

Not every React version gets its own blog post. You can find a detailed list of all changes in CHANGELOG.md, in the React Repository, as well as on the Releases page.

Versioned documentation

This documentation always corresponds to the latest “stable” version of React. Since React 16, all older documentation can be found on a separate page. Please note that the documentation of previous versions was cached on the release date and is no longer continuously updated.

Something missing?

If something is missing from the documentation or you find things confusing, write us your suggestion or improvement and open an issue in our documentation repository. You can of course also reach us via our Twitter account @reactjs. We look forward to hearing from you!