1. Урок 1.00:02:34
    Simplifying the Arrow Functions
  2. Урок 2.00:04:13
    Supplying the Initial State
  3. Урок 3.00:07:36
    Persisting the State to the Local Storage
  4. Урок 4.00:02:25
    Refactoring the Entry Point
  5. Урок 5.00:01:43
    Adding React Router to the Project
  6. Урок 6.00:02:38
    Navigating with React Router <Link>
  7. Урок 7.00:04:09
    Filtering Redux State with React Router Params
  8. Урок 8.00:02:58
    Using withRouter() to Inject the Params into Connected Components
  9. Урок 9.00:01:49
    Using mapDispatchToProps() Shorthand Notation
  10. Урок 10.00:04:52
    Colocating Selectors with Reducers
  11. Урок 11.00:06:46
    Normalizing the State Shape
  12. Урок 12.00:04:31
    Wrapping dispatch() to Log Actions
  13. Урок 13.00:01:32
    Adding a Fake Backend to the Project
  14. Урок 14.00:03:46
    Fetching Data on Route Change
  15. Урок 15.00:06:58
    Dispatching Actions with the Fetched Data
  16. Урок 16.00:06:29
    Wrapping dispatch() to Recognize Promises
  17. Урок 17.00:08:44
    The Middleware Chain
  18. Урок 18.00:02:57
    Applying Redux Middleware
  19. Урок 19.00:09:33
    Updating the State with the Fetched Data
  20. Урок 20.00:06:23
    Refactoring the Reducers
  21. Урок 21.00:05:59
    Displaying Loading Indicators
  22. Урок 22.00:04:44
    Dispatching Actions Asynchronously with Thunks
  23. Урок 23.00:04:43
    Avoiding Race Conditions with Thunks
  24. Урок 24.00:10:59
    Displaying Error Messages
  25. Урок 25.00:05:36
    Creating Data on the Server
  26. Урок 26.00:07:58
    Normalizing API Responses with normalizr
  27. Урок 27.00:05:24
    Updating Data on the Server