Redux is a predictable state container. To the uninitiated, these words mean very little. But Redux doesn't have to be scary. In fact, TDD can help us understand how to implement and reason about our Redux application architecture.
Refactoring to Redux is a common operation. Many React projects will begin without Redux in place but then grow to need it. Teams will adopt Redux when they start to feel the pain of managing an application state across multiple components. TDD can help us refactor in a safe way.
Designing a Redux system is not straightforward. Although Redux is simple at its core, that simplicity leaves the integrator with many decisions to make. Redux isn't very opinionated about how it should be used. That being said, my focus in this chapter is on teaching you how to test-drive Redux, not how to model state in Redux. "Eloquent...