Refactoring to Redux

There it is, staring you in the face again: Redux.

React? You can handle React. But this is different. It flat out doesn’t make sense.

There are a ton of new terms – actions, reducers, middleware, thunks, immutability… and on top of that that, you’re not even sure what Redux actually does.

“It’s a predictable state container,” they say. “It’s simple!” they say.

But how do you actually use it to make React apps?

setState was so easy…

You have to set up a store. You have to write a reducer. Maybe add some middleware (don’t forget to compose it!). Wrap your app in a Provider. Connect certain components (but not all of them!). Dispatch actions.

Oh, you just wanted to make an HTTP call? You need to install redux-thunk for that. Or redux-saga. It’s really up to you. Have fun deciding!

It’s like a choose-your-own-adventure Rube Goldberg machine.

And Redux is massively popular. 95% of the entire internet is using this thing. How hard can it be? Maybe you’re just missing something.

Most advice is worth the price you paid…

There are nearly infinite tutorials out there, all with their own advice. A lot of it starts with “clone this boilerplate – it has everything you need!” and ends with “Redux is so easy. Look how easy this is.”

You’re about to hurl a chair across the room, and all the internet can talk about is how great Redux is, and if you just make one more TODO app you’ll finally get it.

Start at the end

But what if you learned it… backwards? Start with something you understand – plain React – and then build on it to learn Redux bit-by-bit, instead of with one big confusing leap.

You’d intimately understand all the pieces, and you’d know exactly where to put new code (because you built the structure with your own two hands).

Dare I say, you might actually come to enjoy the structure that Redux provides.

That would be great, of course, but there are still practical matters to worry about.

Like how do you fetch data with Redux? Does all of your data need to go in Redux, or just some of it? Should you add Redux to every app, or are there some where it does more harm than good? And don’t you need to learn Flux first?

An easier way to learn Redux.

You can learn Redux, and this course will help you do it.

You’ll get hands-on practice by building an app in React, and then refactoring it to use Redux. It’s broken up into small chunks so you will learn all the fundamentals in an unintimidating way.

There are exercises, too: you’ll be writing your own code right from the start –- this isn’t a “copy, paste, watch it run” tutorial.

And I promise I won’t make you write another TODO app. We’ve all had enough of those.

Here’s what you’ll learn

  • What Redux does, what it’s for, and what it’s not for
  • Why you don’t need to learn Flux first
  • How to wield immutability in your apps
  • Learn how to add Redux to your own app
  • How to refactor React state into Redux
  • Customize Redux with your own middleware
  • Use Redux with React Router v4
  • A simple authentication flow in React and Redux
  • The easiest way to make HTTP calls with Redux
  • Learn to use the Redux developer tools to debug your app
  • What to test in a Redux app, and how to write the tests

Buy It Now?

Not quite! I’m still building out the course. Sign up below to hear when it’s ready and get an early bird discount.