Subscription includes:


Full access to all our courses

New courses added monthly

Weekly coding challenges

Exclusive chat access

Cancel whenever

Prefer one-time fees instead? Click here to buy this course for $0

Start learning now!

Learn React for free

Learn React for free

This tutorial course is the perfect starting point for aspiring React developers. You'll learn all the key concepts while building two apps and doing interactive coding challenges along the way.

What's inside

This course contains 58 interactive screencasts.

Learn React for free

58 scrims

6 hours

You'll learn


Props and state

Conditional rendering

Functional components

Class components

Styling components

Lifecycle methods

Fetching data from APIs

Forms in React

Controlled components

Writing modern React

Local dev setup

React Hooks

You'll build

Todo MVC

In this project you'll create an awesome todo app. It's a classic app which introduces you to the most important concepts of React.

Meme Generator App

Memes are awesome so let's build a meme generator! It let's you speficy and image and a text and generated a meme.


Before taking this course, you should have a basic understanding of HTML, CSS, and JavaScript. Here’s our suggested resources to get you up to speed.

The course creator

Meet your teacher

Bob Ziroll

Bob is the director of education at V School, where he works alongside other instructors to teach full-stack JavaScript web development. His React intro course on Scrimba has quickly become one of the most popular React courses on the web.

Why this

course rocks

In this 57-part interactive tutorial, you'll learn how to build dynamic, interactive web applications with React.js in 2019. React is a JavaScript library for creating user interfaces. It has been created by the developers at Facebook and it excels in creating fast web applications using web components built with a simple-to-understand API.

The course is also filled with coding challenges that you'll complete by writing React code directly inside the Scrimba screencasts. Before you know it, you'll have written two first React JS applications! And you're in good company: over 50.000 students have enrolled in this course so far.

Many of them have pointed out on Twitter that this course is the best React tutorial they've went through.

V School Learning Philosophy

As the head of education at a tech school called V School in downtown Salt Lake City, Utah, I've formulated some philosophies about learning:

  • Learning should never be lonely - Take the course with friends if possible, and make use of the Q&A option to ask questions!
  • Learn by doing - Take advantage of Scrimba by frequently pausing the lesson and playing with the code. Then try to build things from your own computer using the stuff you just learned. And don't skip the practices!
  • Spaced learning and repetition is key - Give yourself time (days/weeks) to finish this course, and include lots of breaks. Don't try cramming it all in.

Contact Me

All constructive feedback is welcome! Feel free to tweet at me (@bobziroll) to let me know your thoughts.

Advanced React bootcamp

I've also created a follow-up course that tackles more advanced React topics. Click here to check it out!

Join the Scrimba community chat

Learning alone can be lonely. Click here to join our Discord server and connect with other Scrimba learners!

F to the A to the Q

Is React easy to learn?

React is a user interface library that makes it simpler to template dynamic HTML using JavaScript. Because this is what React is, there are a couple of pretty intuitive things that probably makes sense to have a solid grasp on before you even start thinking about React.

How long will it take to learn React JS?

It depends on what you mean by learn React. To someone who has learnt React: a person capable of building and deploying a production-ready React application in a reasonable timeframe. The short answer is it will probably take between 6 to 12 months.

What should I learn before learning React?

You should be familiar with HTML/CSS, and at least have a basic understanding of Javascript. By basic, we mean that you should be familiar with its syntax and also know how to work with the different data types in JavaScript, like strings, numbers, booleans, objects and arrays. You should also be familiar with functions, ES6 classes and loops, as you'll very likely use all of this when building components in React. As ES6 is often used in React, it's also beneficial to know about arrow functions and const/let.

Should I learn JavaScript before React?

If you already have some experience with JavaScript, you simply need to make sure that you're familiar with the JavaScript features you will actually use to develop React application. More details regarding this is specified in the answer above.

What is React used for?

React makes it painless to create interactive UIs. You can design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable and easier to debug. Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM.