What is Redux
When to use Redux
Redux lets you manage app status in a single place and make app changes more predictable and recognizable. This makes it easier to reason about changes in the app. Usually when the app scale increases, managing the condition of the app becomes a problem. Redux is used to solve this problem.
Why use Redux?
When using React-Redux, the states no longer need to go up. This makes it easier to identify which action causes which change. Using Redux does not require the component's child component to provide any state or method for sharing data among themselves. This greatly simplifies the app and simplifies maintenance.
Redux makes the state predictable
In Redux, the state is always predictable. If the same state and action are passed to a reducer, the same result is always produced because reducers are pure functions. The state is also immutable and is never changed. This makes it possible to implement arduous tasks like infinite undo and redo.
Redux is maintainable
Redux is strict about how code should be organized, which makes it easier for someone with knowledge of Redux to understand the structure of any Redux application. This generally makes it easier to maintain. This also helps segregate business logic from component trees. For large scale apps, it’s critical to keep apps more predictable and maintainable.
Debugging is easy in Redux
Redux makes it easy to debug an application. By logging actions and state, it is easy to understand coding errors, network errors, and other forms of bugs that might come up during production. Redux DevTools also makes it easy to take advantage of all Redux offers.
React Redux implements many performance optimizations internally so that your own connected component only rerenders when it actually needs to.