Table of Contents Read Me Introduction Motivation Three Principles Prior Art Ecosystem Examples Basics Actions Reducers Store Data Flow Usage with React Example: Todo List Advanced Async Actions Async Flow Middleware Usage with React Router Example: Reddit API Next Steps Recipes Migrating to Redux Using Object Spread Operator Reducing Boilerplate Server Rendering Writing Tests Computing Derived Data Implementing Undo History Isolating Subapps Structuring Reducers Prerequisite Concepts Basic Reducer Structure Splitting Reducer Logic Refactoring Reducers Example Using combineReducers Beyond combineReducers Normalizing State Shape Updating Normalized Data Reusing Reducer Logic Immutable Update Patterns Initializing State FAQ General Reducers Organizing State Store Setup Actions Code Structure Performance React Redux Miscellaneous Troubleshooting Glossary API Reference createStore Store combineReducers applyMiddleware bindActionCreators compose Change Log Patrons Feedback