Blog

How to Learn React JS—a Complete Guide

guide coding for beginners

Get Our Free Ultimate Guide to Coding for Beginners

Make a plan for learning JavaScript, React, and all the tech skills you need to land a new job with this 60+ page FREE ebook!

If you want to make a career pivot into web development, there are some obvious skills you need to learn. Coding languages like HTML, CSS, and JavaScript always get a nod in the “tech basics” conversation, but what about less common tech skills that help you stand out from the crowd?

One of those buzzy, bonus skills you’ll see pop up in job listings and on tech forums is React JS. And yeah, it’s a great one to have considering most web developers who list it on their resumes ultimately wind up with higher salaries.

To put things in perspective, a search for React developer jobs on Indeed.com as of this writing brings up nearly 14,000 open job listings ranging in salary from $85,000-$130,000 per year. Even at the low end, that’s $10,000 more than Indeed’s current average estimate for general web developer salaries ($73,000 per year).

But what IS React JS, why should you learn it, and HOW can you learn it?

To answer your questions, we’ve put together this ultimate guide that breaks down everything you need to know to decide whether learning React JS is your next move. Read it, live it, do it.

(…But don’t feel pressured to take in all this information at once. Bookmark this page and come back whenever you need a refresher on React..)

Table of Contents

What is React JS?

React JS is a JavaScript library used in web development to build interactive elements on websites.

But to understand what React JS is (and why you should learn it), you first need to understand two other concepts: front end web development and JavaScript. Here’s a quick overview of both.

Front End Web Development

Front end developers use coding languages (including JavaScript and JavaScript tools like React JS) to build the parts of websites and web applications you see and interact with through your web browser (think “front-facing”). Front end web development is an effective, flexible, and lucrative way to break into tech, with Indeed listing nearly 13,000 open jobs as of this writing. You can read our complete guide on starting a career in web development to learn more.

Bonus Reads:

(back to top)

JavaScript

JavaScript is a super important coding language used to add animated and interactive features to websites or web applications (on top of the basic, static structures created by languages like HTML and CSS).

Along with HTML and CSS, JavaScript is one of the fundamental languages used in front end development. You can read all about JavaScript in our complete Tech 101 JavaScript guide, but here are the basic talking points:

  • JavaScript (or JS) is a scripting language used to create and control dynamic web content.
  • Dynamic web content includes things like animated graphics, photo slideshows, and interactive forms.
  • Anytime you visit a website where things move, refresh, or otherwise change on your screen without requiring you to manually reload a web page, there’s a very good chance JS is the language making it happen.
  • JavaScript takes a lot of time if you’re coding by hand, so savvy developers have created two forms of shortcuts:
  • JavaScript Libraries and JavaScript Frameworks

Bonus Reads:

(back to top)

JavaScript Libraries and Frameworks

OK, so why use a JavaScript library or framework? And what’s the difference between the two? And when are we going to get to React JS?? (Soon, we swear!)

If you’re programming with the JavaScript language on its own (referred to by developers as “vanilla JavaScript”), anytime you need a particular JavaScript-powered feature for your website or app, you’ll have to code (or re-code) it by hand. Since a LOT of these features are common and repetitive across projects (autocomplete search bar functions, menus that animate on and off screen, etc), recreating them from scratch each time is a tedious (and unproductive) process.

Fortunately, JavaScript libraries and frameworks exist to make the JS coding process more manageable. Both libraries and frameworks are tools for providing developers with reusable JavaScript code. However, there are a few important differences between the two platforms. Hence all the Google searches for “JavaScript libraries vs frameworks”.

We’ve written an in-depth guide to the differences in our article JavaScript Frameworks vs Libraries—What’s the Difference, but here’s a summary:

JavaScript Libraries

  • JavaScript libraries are collections of prewritten code snippets that can be used (and reused) to perform common JavaScript functions. JavaScript library code can be plugged into the rest of your project’s code on an “as needed” basis.
  • For instance, to use a JavaScript library for adding an autocomplete feature to a search bar on your site, you’d insert the appropriate library code snippet into your project’s code. Then, when a user enters text into the search bar, the library code snippet retrieves the feature from the library itself and displays it in your user’s web browser.

Examples of JavaScript Libraries:

  • jQuery
  • React JS (There it is! React JS is a JavaScript library, although sometimes people refer to it as a framework.)

JavaScript Frameworks

  • While JavaScript libraries are a specialized tool for on-demand use, JavaScript frameworks are a full toolset that help shape and organize your website or web application
  • The upside to using JavaScript frameworks is the overall efficiency and organization they bring to a project—your code will be neatly structured, and the framework will offer readymade solutions for common coding problems. On the other hand, all of that structure can be the downside of working with a framework—any JavaScript code you write on top of JS frameworks needs to follow rules and conventions specific to the framework, limiting the freedom you have when using a library.

Examples of JavaScript Frameworks:

Bonus Reads:

(back to top)

So…Back to React JS

React is (as mentioned above) a JavaScript library. More specifically, it’s a JavaScript library designed for building user interfaces (or UIs in developer-speak). UIs include on-screen menus, search bars, buttons, and anything else someone interacts with to USE a website or app.

Before the advent of React, UIs were created with either vanilla JavaScript or less-UI specific libraries like jQuery. Neither of these approaches were ideal (i.e. they were unnecessarily labor-intensive), and that’s what prompted Facebook engineer Jordan Wake to create React JS in 2011 with UI development in mind. Today, React JS is one of the top three JavaScript libraries and frameworks used by front end developers.

In addition to providing reusable React library code (saving development time and cutting down on the chance for coding errors), React JS comes with two key features that add to its appeal for JavaScript developers:

  • JSX
  • Virtual DOM

We’ve taken a deeper look at both of these features in our Tech 101: What is React JS article, but here’s the TLDR:

JSX

  • JSX (short for JavaScript eXtension) is a React extension that makes it easy for web developers to write React code by using a simple, HTML-style syntax.

Virtual DOM

  • If you’re not using React JS (and JSX), your website will use HTML to update something called a Document Object Model (DOM)—a representational tree of how the web page is arranged. Updating the DOM is the process that makes things “change” on screen without a user having to manually refresh a page. That’s what we’ll call the “traditional” DOM.
  • React JS creates something called a Virtual DOM. The Virtual DOM (like the name implies) is a copy of the site’s DOM, and React JS uses this copy to see what parts of the actual DOM need to change when an event happens (like a user clicking a button). By getting selective about updates, especially with complex websites, that means a lot less computing power and loading time. And time is money, especially in front end web development.

Bonus Reads:

(back to top)

React JS vs Other JavaScript Tools

Ok—so React JS is a JavaScript library that specializes in building UIs. But how does it stack up to similar JavaScript tools? React is often compared to a JavaScript framework called Angular (since both tools are widely used to create front end UIs). When you’re new to front end development, it can be hard to know what makes these two platforms different (and which one you should learn how to use).

If you want to read a complete breakdown on React JS vs Angular you can check out our guide, but the key takeaway is that React is great for specializing, while Angular is more of an all-in-one-tool for building a website or app from the ground up.

There’s no obvious winner with React vs Angular (it really depends on the specific needs of each web development project), but—unless you’re building a project from start to finish with Angular as your framework—React’s versatility will probably be easier to work with than Angular’s more template-based approach.

Bonus Reads:

(back to top)

guide coding for beginners

Get Our Free Ultimate Guide to Coding for Beginners

Make a plan for learning JavaScript, React, and all the tech skills you need to land a new job with this 60+ page FREE ebook!

React JS: Why Should You Learn It, How Long It Will Take, and Where to Get Started

Why Should You Learn React JS?

If you have ANY interest in working as a front end developer, it’s a no-brainer: you should learn how to use React JS.

Why?

If you’re doing front end development, you’re going to be building UIs, and React is a powerful tool for making the UI building process faster, more efficient, and more effective. But there’s a second reason that goes along with the first: knowing how to use React JS will earn you more money (again, as much as $10,000 or more in average yearly salary). It’s as simple as that.

But how long will take to improve your hireability and earning potential via React? The answer will pleasantly surprise you.

How Long Will it Take to Learn React JS?

React is a JavaScript library, so you DO need to have a basic foundation in vanilla JavaScript to be able to use it. And getting a grasp of the foundations of JavaScript typically takes three to four months. You don’t need to be a JavaScript master with years of experience under your belt to start with React, you just need to have a handle on the basics, so 90-ish days of practice is enough to get you there (our own Skillcrush Front End Developer + React JavaScript course is designed to be completed in four months by spending just an hour a day on the materials).

Where Can You Learn React JS?

When you’re ready to learn React JS, how do you get started? Considering we just plugged our courses in the last paragraph, you probably have a pretty good idea of our recommendation. We offer React JS bundled with our Skillcrush Front End Developer course. If you already have a solid JavaScript foundation, you can also get React basics directly from the official React JS website and the free React JS tutorial that’s available there.

Bonus Reads:

(back to top)

Scott Morris

Scott Morris is Skillcrush's staff writer and content producer. Like all the members of Skillcrush's team, he works remotely (in his case from Napa, CA). He believes that content that's worth reading (and that your audience can find!) creates brands that people follow. He's experienced writing on topics including jobs and technology, digital marketing, career pivots, gender equity, parenting, and popular culture. Before starting his career as a writer and content marketer, he spent 10 years as a full-time parent to his daughters Veronica and Athena.