React & Modern Frontend (445 Qs)•Part 8: Advanced React Patterns, Portals & Performance (152 - 261)
What are the differences between Flux and Redux?
The biggest conceptual difference is the data flow itself:
sql
Flux:
View
↓
Action
↓
Dispatcher
↓
Multiple Stores
↓
View
versus:
sql
Redux:
View
↓
Action
↓
Middleware
↓
Reducer
↓
Single Store
↓
View
Flux routes every action through a single Dispatcher, which broadcasts it to multiple stores, each holding its own slice of state and its own change logic. Redux replaces the dispatcher with middleware (for side effects) and pure reducer functions (for state updates), all funneling into a single store as the one source of truth.
Below are the major differences between Flux and Redux
| Flux | Redux |
|---|---|
| State is mutable | State is immutable |
| The Store contains both state and change logic | The Store and change logic are separate |
| There are multiple stores exist | There is only one store exist |
| All the stores are disconnected and flat | Single store with hierarchical reducers |
| It has a singleton dispatcher | There is no concept of dispatcher |
| React components subscribe to the store | Container components uses connect function |