Best Way To Learn React
Tags: webdev, react, beginners, tutorial
Published: 2020-03-27 22:40:32

---
title: "Best Way To Learn React"
description: Some of the best ways to start learning react.
date: "2020-03-27T22:40:32.169Z"
published: true
canonical_url: https://www.devsurvival.com/best-way-to-learn-react/
Tags: javascript
---

![reactjs](https://dev-to-uploads.s3.amazonaws.com/i/1u8mlkv5sb8apu2w9lmc.png)


Forget what I just said. There is no such thing as the best way to learn ANYTHING. This post is reserved for newcomers to React who are trying to navigate the complicated world of web development and especially trending technologies like React. I will also prescribe some note worthy courses and tutorials to start learning React some of which I have actually used and succeeded.

## What is React?

React is a framework developed by Facebook and was [open sourced](https://opensource.com/resources/what-open-source) in 2013. React quickly gain popularity and was adopted by some of the top companies like [Airbnb](https://www.airbnb.com/), [Uber](https://www.uber.com/), [Facebook](https://www.facebook.com/pg/facebook/about/), and [Netflix](https://www.netflix.com/). However, you don't have to be a big company to use React. React is able to handle any number of projects from small [single page app](https://en.wikipedia.org/wiki/Single-page_application) to apps that can handle [thousands of users](https://www.smashingmagazine.com/2016/09/how-to-scale-react-applications/) at once.

<br/>

If you do [web development](https://en.wikipedia.org/wiki/Web_development), more specifically [ui design](https://www.interaction-design.org/literature/topics/ui-design), then React will become standard knowledge for many web development positions.

<br/>

Ohh right. Almost forgot to answer the original question. [React](https://reactjs.org/) in technical term is a component based [client side framework](https://searchapparchitecture.techtarget.com/definition/client-side-framework). A client side framework is a library that handles the user facing interface of an application. Some of the main jobs of a client side library is to display content to the page (sounds obvious Lol), handles user inputs, provide consistency in the development process( you are using one framework, therefore, there is less of a chance of contradicting [design philosophy](https://www.nginx.com/blog/principles-of-modern-application-development/)), and the most important job is to manage the [state of the application](https://kentcdodds.com/blog/application-state-management-with-react). 

## React VS [Anguar](https://angular.io/) VS plain HTML, JS, and CSS?

Without going into too much [details](https://www.freecodecamp.org/news/angular-vs-react-what-to-choose-for-your-app-2/), React and Anguar are similar in that they provide the same service to the developers. They provide a set of well defined tools and functionality to ease the UI design process. React is based on [components](https://reactjs.org/docs/react-component.html) while Angular is based on [modules and services](https://angular.io/guide/architecture#modules). 

<br/>

However, some people have argued that React has a steeper [learning curve](https://medium.com/@ericclemmons/angular-is-easy-react-is-hard-6f55e360482c) than Angular. Over the recent years, the learning curve for react has reduced significantly due to the increase in quality and availability of online tutorials and courses.

<br/>

Angular is managed primarily by a team at [Google](https://en.wikipedia.org/wiki/Angular_(web_framework)) , hence, features are slower to release, but not by a lot. Angular is also open source.  For comparison Angular has around 60k stars of [github](https://github.com/angular/angular) while React has a whopping [146k stars](https://github.com/facebook/react). What does more stars translate to? It means more people are using React and [contributing](https://reactjs.org/docs/how-to-contribute.html) to React. From a developers perspective (I might be a little biased here), React has fewer bugs than Angular, and more features that the developer community is requesting. 

<br/>

Plain HTML, CSS and, JS? Before React and Angular, every single website used any combinations of these three to achieve the same complexity of a modern web app. People used [JQuery](https://jquery.com/) to easily integrate animations and special web interactions. 

<br/>

Don't be fool. HTML,CSS, and JS are still the backbone of web development. However, how they are used is being revolutionized by React.


## You Want Some React?

There are some good tutorials and resources and some not so great ones. Here are some of the top picks for learning React. Disclaimer: I am **not** affiliated with any of these sources. I recommended them purely for educational purposes. 

1. [React's Official Website](https://reactjs.org/tutorial/tutorial.html) - there is no better place to learn something than from the originator. Short and easy to follow. 
2. [Udemy's Advanced Web Development BootCamp](https://www.udemy.com/course/the-advanced-web-developer-bootcamp/) - A full stack developer course covering the [MERN](https://www.geeksforgeeks.org/mern-stack/) stack - ReactJS, [ExpressJS](https://expressjs.com/),[NodeJS](https://nodejs.org/en/about/), and [MongoDB](https://www.mongodb.com/what-is-mongodb). By the end of this bootcamp, you will be able to build an entire react application with a backend server. (I took this course and built a [full react application](https://www.pixomy.net/home) in less than 2 months)
3. [Another Udemy Couse - React - The Complete Guide (incl Hooks, React Router, Redux)](https://www.udemy.com/course/react-the-complete-guide-incl-redux/?LSNPUBID=jU79Zysihs4&ranEAID=jU79Zysihs4&ranMID=39197&ranSiteID=jU79Zysihs4-hJgTxHRzRjJwjAGursAbmw) - I have read some great reviews about this course. It is purely focused on React without the  extra stuff.
4. [Youtube React Tutorial For Beginners](https://www.youtube.com/watch?v=QFaFIcGhPoM&list=PLC3y8-rFHvwgg3vaYJgHGnModB54rxOk3) - I like this one because it is completely free and it is a video format course, which makes it way more interactive and helpful for the visual learners.

## Final Note

If you still find it hard to decide, it's completely normal. Heck, I was stuck on searching for the best course for days before settling on one. Whatever the case may be, just start somewhere and start building your developer's toolbox.