Redux is a "kind of" replacement of Service or Factory in Angular. It keeps your application model in one place and helps organize the data of your application.
Redux's ANALOGY #1: Redux is a "kind of back-end on the front-end" - it's your database for your front-end application.
Redux's ANALOGY #2 (TO SQL): it helps you to query SELECT, INSERT and UPDATE the client-side data in its single state tree (you will learn about it later).
In the e-book you will learn the basics and advanced information regarding "how to use React Redux, the right way".
Why to use Redux:
1) It's simpler to learn (than Facebook's FLUX singleton approach)
From my experience with teaching developers FLUX and Redux - I have found that Redux is easier to grasp.
2) It's more powerful than other solutions
It has many features which are unique and very useful in real life web apps development (like immutability).
3) It's the most used across the React community
Redux is the most standard tool to use for the uni-directional data flow.
A good example is the ReactJS Convention™ which you can learn here.
4) Server side rendering with Redux is great
Redux is one of best solutions for server-side React's applications. It's a very unique and useful feature that is mostly used on websites where the user experience must be top-notch (the less latency of the server's response the better). For example: AirBnb and the most popular news services have server rendering implemented, so that their users get content served much quicker than in a regular (non server-side rendering) single-page-application.