Trong nhiều ví dụ về Redux, SOME_ASYNC_ACTION_ERROR
hoặc SOME_ASYNC_PENDING
là các hành động được gửi đi để thao túng trạng thái toàn cầu. Tôi không thể nghĩ về một kịch bản mà nó sẽ có ý nghĩa cho một thành phần ban đầu được trả lại với một lỗi toàn cầu/tải/trạng thái chờ. Khi một thành phần bị hủy và được cập nhật, lỗi async đó sẽ cần phải được "xóa", làm cho nó có vẻ như thao tác với trạng thái địa phương của thành phần là là một lựa chọn tốt hơn.Ứng dụng so với trạng thái cục bộ trong redux
Xét này, những gì là thực hành tốt nhất để đối phó với tải/lỗi/cấp phát tiểu bang ở Redux:
- nên một mặc định thành phần đến một trạng thái ban đầu tại địa phương nhưng vẫn đăng ký vào trạng thái ứng dụng toàn cầu cho tải/lỗi ?
- HOẶC Đơn đăng ký lỗi/tải có được đặt lại sau khi rời khỏi thành phần không?
- HOẶC Các trạng thái tạm thời này có được quản lý cục bộ không?
Đúng, tất cả điều này giả định rằng 'kết nối' đang được sử dụng để ánh xạ trạng thái ứng dụng thích hợp cho thành phần - tôi nên đã xác định điều đó. Vấn đề vẫn còn w/các trạng thái lỗi/đang chờ xử lý. – Whoa
Tôi đã chỉnh sửa câu trả lời ở trên để giải thích thêm một chút, tôi nên giải quyết vấn đề đó để bắt đầu với – Aaron
Và ... nếu bạn không nghĩ trạng thái "lỗi" sẽ tồn tại sau khi một thành phần chưa được lắp, thì bạn cần phải xem xét tại hành động làm cho cửa hàng Redux cập nhật, điều này đã làm cho React re-render khiến cho thành phần của bạn bị ngắt kết nối. Các thành phần của bạn không đi và tự ngắt kết nối mà không có lý do gì. Họ làm điều đó bởi vì các cửa hàng Redux đã được sửa đổi do một hành động. Nhiều khả năng bạn cần một bộ giảm tốc cho hành động đó để xóa trạng thái lỗi ngoài bất kỳ điều gì khác. – Brandon