2. Use Redux#

2.1. Status#

Accepted

2.2. Context#

The Open edX community needs a library to handle complex state management in React applications.

2.3. Decision#

For state management of complex client-side interactions, Redux must be used. This library was chosen because it sees strong use in the React community, but is also flexible enough to be used in situations where a hybrid React/Backbone architecture exists.

2.4. Consequence#

Redux has been adopted by the Open edX community as the library to use to handle complex state management in React applications.

2.5. Rejected Alternatives#

At the time of this decision, no rejected alternatives were documented.