Understanding Flux
Flux is the application architecture from Facebook that complements React. It's not a framework or a library, but rather a solution to a common problem—how to build scalable client-side applications.
With the Flux architecture, we can rethink how data flows inside of our application. Flux makes sure that all our data flows only in a single direction. This helps us to reason about how our application works, regardless of how small or large it is. With Flux, we can add new functionality without exploding our application's complexity or its mental model.
You might have noticed that both React and Flux share the same core concept—one-way data flow. This is why they naturally work well together. We know how data flows inside of a React component, but how does Flux implement the one-way data flow?
With Flux, we separate the concerns of our application into four logical entities:
- Actions
- Dispatchers
- Stores
- Views
Actions are objects that we create when we want...