Episode 2 — React Frontend Architecture NextJS / 2.14 — State Management Using Redux

2.14 — Exercise Questions: Redux & State Management

<< 2.14 Overview


Exercise 01

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 02

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 03

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 04

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 05

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 06

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 07

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 08

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 09

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 10

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 11

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 12

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 13

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 14

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 15

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 16

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 17

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 18

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 19

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 20

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 21

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 22

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 23

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 24

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 25

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 26

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 27

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 28

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 29

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 30

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 31

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 32

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 33

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 34

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 35

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 36

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 37

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 38

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 39

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 40

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 41

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 42

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 43

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 44

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 45

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 46

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 47

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 48

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 49

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 50

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 51

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 52

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 53

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 54

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 55

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 56

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 57

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 58

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 59

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 60

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 61

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 62

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 63

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 64

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 65

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 66

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 67

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 68

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 69

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 70

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 71

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 72

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 73

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 74

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 75

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 76

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 77

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 78

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 79

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 80

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 81

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 82

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 83

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 84

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Exercise 85

Build a small Vite + React app implementing the prompt with Redux Toolkit: slices, typed hooks, async thunk or RTK Query (optional), and tests for reducers.

Deliverables: store diagram in README + 3 user flows with action logs.


Answers & guidance

Notes for Exercise 01

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 02

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 03

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 04

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 05

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 06

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 07

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 08

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 09

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 10

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 11

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 12

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 13

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 14

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 15

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 16

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 17

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 18

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 19

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 20

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 21

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 22

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 23

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 24

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 25

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 26

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 27

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 28

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 29

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 30

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 31

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 32

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 33

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 34

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 35

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 36

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 37

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 38

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 39

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 40

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 41

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 42

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 43

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 44

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 45

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 46

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 47

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 48

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 49

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 50

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 51

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 52

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 53

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 54

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 55

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 56

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 57

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 58

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 59

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 60

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 61

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 62

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 63

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 64

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 65

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 66

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 67

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 68

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 69

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 70

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 71

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 72

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 73

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 74

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 75

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 76

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 77

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 78

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 79

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 80

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 81

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 82

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 83

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 84

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

Notes for Exercise 85

  • Keep reducers pure; put IO in thunks/listeners.
  • Validate unknown actions fall through to return state.
  • Add selector memoization when derived objects are large.

<< 2.14 Overview