Flux là một mẫu kiến trúc (từ Facebook) để quản lý state với luồng dữ liệu một chiều (unidirectional). Nó là cơ sở khái niệm cho Redux và ảnh hưởng đến hầu hết các thư viện state hiện đại. Ý tưởng cốt lõi: dữ liệu chảy theo một hướng duy nhất, có thể đoán trước.
Chu trình một chiều
Action → Dispatcher → Store → View
↑ │
└───────────────────────────────────┘
(tương tác của người dùng tạo ra một Action mới)
1. Action — một object thuần mô tả ĐIỀU GÌ đã xảy ra ({ type: 'ADD_TODO', text })
2. Dispatcher — một hub trung tâm gửi mọi action tới các store
3. Store — giữ state + logic; tự cập nhật để phản hồi các action
4. View — render từ store; tương tác người dùng dispatch các action mới
