Chapter 4: Sharing Module State with Subscription
In the previous chapter, we learned how to use Context for a global state. As discussed, Context is not designed for the singleton pattern; it's a mechanism for avoiding the singleton pattern and providing different values for different subtrees. For a singleton-like a global state, using a module state makes more sense because it's a singleton value in memory. The goal of this chapter is to learn to use a module state with React. It's a less well-known pattern than Context, but is often used to integrate the existing module state.
What Is a Module State?
A strict definition of a module state would be some constants or variables defined in ECMAScript (ES) module scopes. In this book, we aren't following the strict definition. You can simply assume that a module state is a variable defined globally or within the scope of a file.
We'll explore how to use a module state as a global state in React. In order...