Files
frontend-bootcamp/step2-08/exercise/README.md
2019-03-01 12:41:44 -08:00

24 lines
1.2 KiB
Markdown

# Step 2.8: Reduce Boilerplate (Exercise)
[Lessons](../) | [Exercise](./exercise/) | [Demo](./demo/)
If you don't already have the app running, start it by running `npm start` from the root of the `frontend-bootcamp` folder. Click the "exercise" link under day 2 step 8 to see results.
> Hint! This section is tricky, so the whole solution is inside `demo` as usual. Feel free to copy & paste if you get stuck!!
1. Open up `exercise/src/reducers/index.ts`
2. Rewrite the reducer functions `todoReducers` and `filterReducers` with the help of [`createReducer()`](https://redux-starter-kit.js.org/api/createreducer)
3. Rewrite the `reducer()` function with [`combineReducers()`](https://redux.js.org/recipes/structuring-reducers/using-combinereducers)
4. Open up `exercise/src/reducers/pureFunctions.ts`
5. Rewrite all the reducers related to the todos by following the instructions in the code
## Further reading
- [`immer`](https://github.com/mweststrate/immer) - Improves ergonomics of working with immutables by introducing the concept of mutating a draft
- [`redux-starter-kit`](https://github.com/reduxjs/redux-starter-kit) - Help address common concerns of Redux in boilerplate and complexity