In this chapter, you learned how to design and implement an architecture for your Immutable.js abstraction. We started by building a reusable component that takes the initial application state and side-effect functions as arguments and returns an updater function, which is then used throughout the application to update the application state. This component runs the appropriate side-effect whenever state changes.
Then you implemented another version of the application from Chapter 14, Side-Effects in User Interfaces, where we listed Black Mirror episodes. This implementation used our new App() component to encapsulate immutable state and to orchestrate the execution of our side-effect functions.
I hope this has been an enlightening read. I set out to write this book with the hope of sharing some of my hard-earned knowledge working with Immutable.js in production for many...