What is Redux?
Redux does this by creating one large object which stores the entire applications state, instead of each component being siloed and having its own individual state all components share a global state.
When creating an application in React it is possible to do it entirely without Redux, however as the app grows and becomes more complex so does the state management which can result in increased errors for your application.
Even though Redux may not be necessary for smaller apps, for larger apps with multiple components all making changes to the state Redux can be a useful library.
By having a centralized location to access and manipulate state means you can reduce complexity and have more control over your state, in addition to this using Redux can make sharing and passing data between components easier.