2016-08-31 35 views
13

Tôi đã đọc một số hướng dẫn redux và thành thật mà nói tôi không thấy cho đến bây giờ giá trị gia tăng mà nó mang lại phản ứng đơn giản.Redux vs plain React

Theo như tôi biết tôi có thể xây dựng một ứng dụng và quản lý trạng thái của nó bằng cách sử dụng chỉ phản ứng, vì vậy, điều gì làm cho redux có giá trị sử dụng?

Vâng, tôi nhận ra Redux có một vài ưu điểm so với phản ứng, cụ thể là:

  • Giữ dõi tất cả các hành động thực hiện;
  • Giúp gỡ lỗi dễ dàng hơn do điểm trước đó;
  • Ngăn không cho trạng thái truyền xuống giữa các thành phần.

Nhưng có thể do thiếu kinh nghiệm xây dựng các ứng dụng lớn, tôi không tin rằng nó sẽ làm cho cuộc sống của tôi dễ dàng hơn.

Bạn có thể giải thích thêm một chút về lợi thế của việc sử dụng redux trên các phản ứng đơn giản không?

+0

phản ứng và chuyển đổi màu đỏ phục vụ các mục đích hoàn toàn khác nhau trong một ứng dụng. hãy đọc tiếp. – Bosworth99

+0

Với redux cuộc sống của bạn có thể trở nên dễ dàng hơn. Hoặc ngược lại. Chỉ cần thử và tự quyết định xem bạn có thích hay không. – zerkms

+0

Cuối cùng tôi cảm thấy nó phụ thuộc vào phạm vi dự án của bạn. Mặc dù tôi không có chuyên gia nhưng có vẻ như bạn có thể dễ dàng tạo ra một ứng dụng phức tạp mà không cần bất kỳ loại thực hiện thông lượng nào ... – Maxwelll

Trả lời

5

Với tôi, lợi thế lớn nhất là một thực tế rằng redux có một cây trạng thái duy nhất so với nhiều trạng thái nhỏ hơn trong các thành phần chỉ có react. Cùng với các bộ giảm tốc của redux, trạng thái trở nên rất xác định và dễ dàng hơn để giải thích.

+4

Bạn có thể có một trạng thái duy nhất được lưu trữ bởi thành phần gốc ngay cả khi không có redux. – zerkms

+1

Đó là lý do tại sao tôi nói "có thể". Việc quản lý một trạng thái đơn lẻ trong 'phản hồi' là cồng kềnh hơn trong' redux' IMO. –

+0

"Đó là lý do tại sao tôi nói" có thể "", "IMO" --- đó là những gì làm cho câu trả lời và câu hỏi chủ quan. IMO - không có nhiều khác biệt. – zerkms

14

Off đỉnh đầu của tôi, một vài ưu điểm:

  • Rất nhiều thời gian cây trạng thái của ứng dụng của bạn có thể là đáng kể khác với cây UI
  • Nhiều thành phần có thể cần phải truy cập vào tình trạng tương tự và hiển thị nó theo những cách khác nhau
  • Các thành phần tải lại nóng sẽ xóa sạch cây thành phần hiện có của bạn, bao gồm bất kỳ trạng thái nào được lưu trữ bên trong chúng. Việc giữ trạng thái tách biệt với cây UI cho phép cây giao diện được hoán đổi và nạp lại với các thành phần được cập nhật, trong khi vẫn giữ nguyên trạng thái phát triển hiện tại của bạn.

Và đó là trước khi nhận được nhiều lợi ích thường được thảo luận, chẳng hạn như cập nhật trạng thái có thể dự đoán, gỡ lỗi thời gian đi lại, cải thiện khả năng kiểm tra và logic tập trung. Chắc chắn rằng bạn có thể viết toàn bộ ứng dụng bằng cách sử dụng không có gì nhưng trạng thái thành phần của React (và Dan Abramov nói rằng mọi người thường nhảy vào Redux quá sớm), nhưng từ quan điểm của tôi, Redux hoàn toàn xứng đáng với nó.

chỉnh sửa

Tôi đã viết lên một phiên bản mở rộng của câu trả lời này như một bài báo trên Full stack Phản ứng tại chỗ: Redux and Why It's Good For You.

Các vấn đề liên quan