You clicked the link? You know who Dan Abramov is.

You know who Dan Abramov is? You know Redux.

You know Redux? Why are you reading this?

Here’s Why!

We know that writing components with React is good. We know that using Redux is a thing to do that makes React more good. Do you know the beautiful, clear, direct way of building out the Redux? Do you know clearly where to begin, where to go next, and where to finish?

Let’s think about that.

Redux has a number of crucial interlocking components. Reducers. Actions. Tests. Middleware. Action Creators. Selectors. Store. States.

Redux has a number of crucial concepts, idioms, and syntaxes (sin taxes as well). Immutability. ES6 array spread operators. ES6 Object destructuring (not a real word). ES6 Parenthesized Object literal return statements. ES7 object spread operators. ES6 Arrow functions. Switch statements. Functions that return functions that return functions (no, that repetition is not a slip of the keyboard).

Maybe you’re in the ES6 world, but if you’re not then you have a steep learning curve. Maybe you’re a functional programmer, but if you’re not then you have a steep learning curve. Maybe you’re familiar with React, but if you’re not then you have a steep learning curve.

With Redux, you could be diving into an ocean of new-ness. That’s not dissimilar from many libraries, from many packages, programming languages, and concepts. The unique feature of Redux however is that it’s creator is a very enthusiastic (though monotone) evangelist, teacher, and guide. He has two tutorial series that take you from no ducks to Redux in about two hours run-time. However, those series are dense and on occasion the concepts are so obscure that Egghead.io’s editors, who wrote the transcripts for the tutorial, can’t even transcribe the words right.

So this post exists to clarify Dan Abramov’s Redux methodology, supplement your existing Redux knowledge, and if you don’t have any Redux knowledge, to be your companion for learning the tool.