1. Redux introduces the reducer function to solve state management problems in a predictable way like Flux but with some improvements. 2. A Redux app has a single state tree stored in an object, and the only way to change state is to dispatch an action object describing what happened. 3. Pure reducer functions are used to specify how actions transform the state tree in a pure and predictable way without side effects.