This document introduces Redux, a state management library for JavaScript apps. It discusses why state management is needed, other approaches like Flux and MobX, and how Redux addresses these issues using principles of single source of truth, immutable state updates via pure functions, and unidirectional data flow. Key aspects of Redux like actions, action creators, reducers, and connecting React components to the store are explained. Considerations for when Redux is a good fit and potential gotchas are also covered.