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.

Course content

01Course Introduction & Learning Philosophy
02What we'll be building
03A Short Message From Team Scrimba
04OUT NOW: The React Bootcamp
05Why use React?
06ReactDOM & JSX

A comprehensive introduction to React for beginners 💪

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!

What you'll learn 👩‍🏫

Props and state
Conditional rendering
Functional components
Class components
Styling components
Lifecycle methods
Fetching data from APIs
Handling events
Forms in React
Controlled components
Writing modern React
Local dev setup
React Hooks

what 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.

Meet your teacher 👋

The course creator

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.

Thank Bob for the course

people love this course 😍

why you'll learn faster 🔥

secure your free spot

100,000 people can't be wrong


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.