Flux is an application architecture and not a framework. You can think of it as an alternative to MVC. It was primarily developed to be used with React as both of them are based on unidirectional data flow. The Flux architecture enforces unidirectional data flow.
Here is a diagram that shows all the parts of the Flux architecture and how data flows in it:
Actions: An action is an object that describes what we want to do and the data that we need to do it. In Flux, all events and data from all sources are converted to actions. Even UI events are converted to actions.
Dispatcher: The dispatcher is a special type of event system. It is used to broadcast actions to registered callbacks. What the dispatcher does is not the same as a pub/sub system, as callbacks are not subscribed to particular events. Instead, every action is dispatched to every registered callback. An application should contain only one dispatcher.
Action creators: Action creators...