- Intro and 3 Principles of Redux
- The Reducer and the Store
- Implementing the Store from Scratch
- A React Counter Example
- Avoiding Array Mutations
- Avoiding Object Mutations
- Writing a Todo List Reducer
- Reducer Composition with Arrays
- Reducer Composition with Objects
- Reducer Composition with combineReducers
- Implementing combineReducers() from Scratch
- Example: Adding a Todo
- Example: Toggling a Todo
- Example: Filtering Todos
- Extracting Presentational Components: Todo and TodoList
- Extracting Presentational Components: AddTodo, Footer, and FilterLink
- Extracting Container Components: Filter Link
- Extracting Container Components: VisibleTodoList and AddTodo
- Passing the Redux Store Explicitly via Props
- Passing the Redux Store Explicitly via Context
- Passing the Store via Provider from react-redux
- Generating Containers with connect(): VisibleTodoList
- Generating Containers with connect(): AddTodo
- Generating Containers with connect(): FooterLink
- Extracting Action