Redux chủ yếu dành cho "trạng thái ứng dụng". Đó là, bất cứ điều gì liên quan đến logic ứng dụng của bạn. Chế độ xem được xây dựng trên nó là sự phản ánh của trạng thái đó, nhưng không phải sử dụng riêng vùng chứa trạng thái đó cho mọi thứ mà nó thực hiện.
Đơn giản chỉ cần hỏi những câu hỏi sau: Trạng thái này có quan trọng đối với phần còn lại của ứng dụng không? Các phần khác của ứng dụng có hoạt động khác dựa trên trạng thái đó không? Trong nhiều trường hợp nhỏ, đó sẽ không phải là trường hợp. Lấy menu thả xuống: Việc nó mở hoặc đóng có thể sẽ không ảnh hưởng đến các phần khác của ứng dụng. Vì vậy, việc kết nối nó với cửa hàng của bạn có thể là quá mức cần thiết. Đó chắc chắn là một lựa chọn hợp lệ, nhưng không thực sự mang lại cho bạn bất kỳ lợi ích nào. Tốt hơn hết bạn nên sử dụng this.state
và gọi nó là một ngày.
Trong ví dụ cụ thể của bạn, màu sắc của nút đó có được chuyển đổi để tạo ra bất kỳ sự khác biệt nào trong các phần khác của ứng dụng không? Nếu đó là một loại nút bật / tắt toàn cầu nào đó cho một phần chính của ứng dụng của bạn, thì nó chắc chắn thuộc về cửa hàng. Nhưng nếu bạn chỉ chuyển đổi một màu nút khi bạn nhấp vào nút, bạn có thể để trạng thái màu được xác định cục bộ. Hành động nhấp vào nút có thể có các hiệu ứng khác yêu cầu cử hành động, nhưng điều đó tách biệt với câu hỏi đơn giản về màu sắc của nó.
Nói chung, hãy cố gắng giữ trạng thái ứng dụng của bạn càng nhỏ càng tốt. Bạn không cần phải nhét mọi thứ vào đó. Làm điều đó khi bạn phải làm hoặc giữ một thứ gì đó ở đó rất có ý nghĩa. Hoặc nếu nó làm cho cuộc sống của bạn dễ dàng hơn khi sử dụng Công cụ Dev. Nhưng đừng quá tải tầm quan trọng của nó.