Episode 2 — React Frontend Architecture NextJS / 2.14 — State Management Using Redux
2.14 — Exercise Questions: Redux & State Management
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.