Learning

A selected list of tutorials, articles, and resources on Javascript, React, Redux, and related topics. Brought to you by Mark Erikson (aka @acemarke). For additional articles on these and other topics, see React/Redux Links.

For a 10,000 foot view of the JS ecosystem, check out the State of JS survey. For a list of books available for purchase, check out our recommended reading list.

Recommended Learning Path

You should learn these technologies in the following order:

  1. "How Web Apps Work": a series of posts that lays out the big picture of the core technologies, terms, and concepts used in client/server web apps
  2. JavaScript: If you don't know JavaScript, nothing else will make sense
  3. React: You can use React by itself, or with Redux and/or TypeScript. Learning it separately will minimize the number of new concepts and syntax you have to learn at once.
  4. Redux: Redux can be used separately, but it's most commonly used with React.
  5. TypeScript: Because it adds static types on top of JS, you need to understand JS first. Also, it's easiest to understand React and Redux first, then learn how to use them with static types.

The resources in this page are listed in that order.

You are not required to read every single link and article listed in this page. However, you should try to read through as many of the articles linked in the "Recommended Primary Resources" sections as possible, especially for topics you are not already familiar with. Many of the recommended tutorials do cover the same topics, so feel free to skip past concepts you've already learned.

Links in the "Additional Resources" sections are available as references and reading as needed.

How Web Apps Work

Mark's post series that describes the key terms, concepts, technologies, syntax, and data flow used in web apps.

Javascript

General JS

Specific Topics

Additional Resources (read as needed)

General JS

Specific Topics

React

General React

Start with reading the official docs first. The React team is in the process of starting a major rewrite of the React docs site to focus on teaching function components and hooks first, which is now available in beta. We've linked to that rather than the existing "main" documentation.

These other listed tutorials are also excellent and may explain things in a different way.

Project Setup

  • Read: Simple React Development in 2019 (a guide to setting up an app, development environment, and deployment)
  • Use: CodeSandbox.io (an online IDE that uses VS Code's editor, and can let you develop and run your apps completely in the browser)
  • Use: Create-React-App (the official CLI tool for creating a React app with one command. Sets up a project with good default build settings out of the box.)

Specific Topics

Additional Resources (read as needed)

General React

Redux

General Redux

Start with reading the official docs first, and also watch Mark Erikson's "Redux Fundamentals Workshop" videos.

The other tutorials are also excellent and may explain things in a different way.

Mark Erikson's Redux Resources

  • Read: "Idiomatic Redux" concepts and opinion series. A series of blog posts that describes standard Redux development best practices, why they exist, and how Redux is meant to be used. (These are not required reading to get started, but highly recommended once you understand the basics.)
  • Legacy resources (do not cover "Modern Redux", but still informative)

Specific Topics

Additional Resources (read as needed)

Specific Topics

TypeScript

Specific Topics

Additional Resources (read as needed)