by Dan Abramov
Managing state in an application is critical, and is often done haphazardly. Redux provides a state container for JavaScript applications that will help your applications behave consistently. Redux is an evolution of the ideas presented by Facebook's Flux, avoiding the complexity found in Flux by looking to how applications are built with the Elm language. Redux is useful for React applications, but React is not a requirement! In this series, we will learn the basics of Redux, so that you can start using it to simplify your applications. It's highly recommended that you have a quick read of the Redux documentation alongside or before you watch the series. There are some amazing [community notes on this course here on Github](https://github.com/tayiorbeii/egghead.io_redux_course_notes. Once you are finished with this course be sure to check out part 2: building-react-applications-with-idiomatic-redux