Learning Resources

The Redux docs are intended to teach the basic concepts of Redux, as well as explain key concepts for use in real-world applications. However, the docs can't cover everything. Happily, there are many other great resources available for learning Redux. We encourage you to check them out. Many of them cover topics that are beyond the scope of the docs, or describe the same topics in other ways that may work better for your learning style.

This page includes our recommendations for some of the best external resources available to learn Redux. For an additional extensive list of tutorials, articles, and other resources on React, Redux, Javascript, and related topics, see the React/Redux Links list.

Basic Introductions

Tutorials that teach the basic concepts of Redux and how to use it

Using Redux With React

Explanations of the React-Redux bindings and the connect function

  • What Does Redux Do? (and when should you use it?)
    https://daveceddia.com/what-does-redux-do/
    An excellent summary of how Redux helps solve data flow problems in a React app.

  • How Redux Works: A Counter-Example
    https://daveceddia.com/how-does-redux-work/
    A great follow-up to the previous article. It explains how to use Redux and React-Redux, by first showing a React component that stores a value in its internal state, and then refactoring it to use Redux instead. Along the way, the article explains important Redux terms and concepts, and how they all fit together to make the Redux data flow work properly.

  • Redux and React: An Introduction
    http://jakesidsmith.com/blog/post/2017-11-18-redux-and-react-an-introduction/
    A great introduction to Redux's core concepts, with explanations of how to use the React-Redux package to use Redux with React.

Project-Based Tutorials

Tutorials that teach Redux concepts by building projects, including larger "real-world"-type applications

Redux Implementation

Explanations of how Redux works internally, by writing miniature reimplementations

Reducers

Articles discussing ways to write reducer functions

Selectors

Explanations of how and why to use selector functions to read values from state

Normalization

How to structure the Redux store like a database for best performance

Middleware

Explanations and examples of how middleware work and how to write them

Side Effects - Basics

Introductions to handling async behavior in Redux

Side Effects - Advanced

Advanced tools and techniques for managing async behavior

Thinking in Redux

Deeper looks at how Redux is meant to be used, and why it works the way it does

Redux Architecture

Patterns and practices for structuring larger Redux applications

Apps and Examples

Redux Docs Translations

Books

  • Redux in Action
    https://www.manning.com/books/redux-in-action
    A comprehensive book that covers many key aspects of using Redux, including the basics of reducers and actions and use with React, complex middlewares and side effects, application structure, performance, testing, and much more. Does a great job of explaining the pros, cons, and tradeoffs of many approaches to using Redux. Personally recommended by Redux co-maintainer Mark Erikson.

  • The Complete Redux Book
    https://leanpub.com/redux-book
    How do I manage a large state in production? Why do I need store enhancers? What is the best way to handle form validations? Get the answers to all these questions and many more using simple terms and sample code. Learn everything you need to use Redux to build complex and production-ready web applications. (Note: now permanently free!)

  • Taming the State in React
    https://www.robinwieruch.de/learn-react-redux-mobx-state-management/
    If you have learned React with the previous book of the author called The Road to learn React, Taming the State in React will be the perfect blend to learn about basic and advanced state management in React. You will start out with learning only Redux without React. Afterward, the book shows you how to connect Redux to your React application. The advanced chapters will teach you about normalization, naming, selectors and asynchronous actions. In the end, you will set up and build a real world application with React and Redux.

Courses

  • Modern React with Redux, by Stephen Grider (paid)
    https://www.udemy.com/react-redux/
    Master the fundamentals of React and Redux with this tutorial as you develop apps with React Router, Webpack, and ES6. This course will get you up and running quickly, and teach you the core knowledge you need to deeply understand and build React components and structure applications with Redux.

  • Redux, by Tyler McGinnis (paid)
    https://tylermcginnis.com/courses/redux/
    When learning Redux, you need to learn it in the context of an app big enough to see the benefits. That's why this course is huge. A better name might be "Real World Redux". If you're sick of "todo list" Redux tutorials, you've come to the right place. In this course we'll talk all about what makes Redux special for managing state in your application. We'll build an actual "real world" application so you can see how Redux handles edge cases like optimistic updates and error handling. We'll also cover many other technologies that work well with Redux, Firebase, and CSS Modules.

  • Learn Redux, by Wes Bos (free)
    https://learnredux.com/
    A video course that walks through building 'Reduxstagram' — a simple photo app that will simplify the core ideas behind Redux, React Router and React.js

More Resources

  • React-Redux Links is a curated list of high-quality articles, tutorials, and related content for React, Redux, ES6, and more.
  • Redux Ecosystem Links is a categorized collection of Redux-related libraries, addons, and utilities.
  • Awesome Redux is an extensive list of Redux-related repositories.
  • DEV Community is a place to share Redux projects, articles and tutorials as well as start discussions and ask for feedback on Redux-related topics. Developers of all skill-levels are welcome to take part.