/react-ecosystem

A list of resources to get on-boarded to the react ecosystem

Getting Started in the React Ecosystem

A list of resources to get on-boarded to the react ecosystem

This guide assumes you already have a good understanding of JavaScript, HTML, and CSS

I originally wrote this guide for onboarding new employees into the react/redux/webpack ecosystem, and split it up into parts... You should go through each of these resources and be sure to split the parts up into days or multiple days so you don't get information overload. Afterwards, you might want to go even further and learn about Immutable, Flow, Nuclide, Atom-IDE

  • Recommended Browser: Chrome (has many useful react and redux dev tools)
  • Recommended Editor: VS Code

Part 1: ECMASCRIPT 2015

Part 2: React.js

Part 3: Redux

Part 4: Webpack

Part 5: Node.js

You've already been using Node.js behind the scenes in most of these tools. If you want to create your own back end to serve your application, look into Express:

Part 6: Testing

Part 7: Putting it all together

  • Try setting up a project from scratch using yarn init and then add react, redux, webpack, middleware, other libraries, etc.
  • Build out a mini-app using all of these technologies to make sure you understand:
    • How to create react components
    • How to create actions, thunks, and reducers in redux
    • How to create redux modules using the Duck Pattern
    • How to make your own server using Node/Express
    • Configure a build process in webpack
    • Use webpack to process CSS and Image files so your entire project builds into 1 js file (or multiple - see Code Splitting below)

If you want to see an example, I've created my own react-app-scaffolding from scratch using all of the above information. (note: this scaffolding assumes you have a back-end that provides a JWT token)

BONUS: Still want to learn more?

Immutable - Immutable collections for JavaScript

Flow - a static type checker for JavaScript

Other Testing Tools

Nuclide - a suite of plugins for Atom for developing JavaScript applications

Atom IDE - a set of optional packages to bring IDE-like functionality to Atom

Socket.io

Code Splitting

TypeScript

JWT

Misc articles and other resources

UI Resources