I am a huge fan of the simplicity and power that redux brings when dealing with state management and communication. Redux, as a software pattern, gives us a single place to store our application state (the store) and a single place to mutate our application state (the reducer).
Full article