Context truyền dữ liệu xuyên cây component mà không phải chuyền prop qua từng tầng (prop drilling): createContext → <Provider value> → useContext.
Lưu ý quan trọng: Context không phải state manager. Mọi consumer sẽ re-render khi value đổi (dù chỉ dùng một phần nhỏ) → nó hợp với dữ liệu ít thay đổi: theme, locale, user/auth, cấu hình app.
Khi nào cần Redux/Zustand: state đổi thường xuyên/phức tạp, cần selector để tránh re-render thừa, middleware, devtools, cache. Riêng server state (dữ liệu từ API) → dùng React Query thay vì đưa server state vào Context. Mẹo giảm re-render: chia nhỏ context hoặc memo hóa value.