Như bối cảnh không còn là một tính năng thử nghiệm và bạn có thể sử dụng trực tiếp Ngữ cảnh trong ứng dụng của mình và sẽ rất tuyệt vời khi truyền dữ liệu đến các thành phần lồng nhau sâu sắc mà nó được thiết kế cho.
Như Mark erikson đã viết trong blog của mình :
Nếu bạn chỉ sử dụng Redux để tránh truyền lại đạo cụ, bối cảnh có thể thay thế Redux - nhưng có lẽ bạn không cần Redux ngay từ đầu.
Ngữ cảnh cũng không cung cấp cho bạn bất cứ thứ gì như Redux DevTools
, khả năng theo dõi các cập nhật trạng thái của bạn, middleware
để thêm logic ứng dụng tập trung và các khả năng mạnh mẽ khác Redux
cho phép.
Redux
mạnh hơn nhiều và cung cấp một số lượng lớn các tính năng mà Context Api
không cung cấp, như As @danAbramov đã đề cập
React Redux sử dụng bối cảnh trong nội bộ nhưng nó không phơi bày sự thật này trong API công khai. Vì vậy, bạn sẽ cảm thấy an toàn hơn nhiều khi sử dụng ngữ cảnh qua React Redux so với trực tiếp bởi vì nếu nó thay đổi, gánh nặng cập nhật mã sẽ thuộc về React Redux chứ không phải bạn.
Redux của nó thực sự cập nhật việc triển khai để tuân thủ API ngữ cảnh mới nhất
API bối cảnh mới nhất có thể được sử dụng cho các Ứng dụng mà bạn chỉ cần sử dụng Redux để truyền dữ liệu giữa các thành phần, tuy nhiên ứng dụng sử dụng dữ liệu tập trung và xử lý yêu cầu API trong trình tạo Hành động bằng cách sử dụng redux-thunk
hoặc redux-saga
vẫn cần chuyển hướng. Ngoài ra, redux này còn có các thư viện khác được liên kết như redux-persist
cho phép bạn lưu dữ liệu lưu trữ trong localStorage và bù nước khi làm mới, đó là điều mà API ngữ cảnh vẫn không hỗ trợ.
Như @dan_abramov đã đề cập trong blog của mình Bạn có thể không cần Redux , redux đó có ứng dụng hữu ích như
- Kiên trì lưu trữ cục bộ và sau đó khởi động từ nó, ra khỏi hộp.
- Trạng thái điền trước trên máy chủ, gửi nó đến máy khách trong HTML và khởi động từ nó, ra khỏi hộp.
- Tuần tự hóa các hành động của người dùng và đính kèm chúng, cùng với ảnh chụp nhanh trạng thái, vào các báo cáo lỗi tự động, để các nhà phát triển sản phẩm
có thể phát lại chúng để tái tạo lỗi.
- Truyền các đối tượng hành động qua mạng để thực hiện các môi trường hợp tác mà không có thay đổi lớn đối với cách viết mã.
- Duy trì lịch sử hoàn tác hoặc thực hiện các đột biến lạc quan mà không có thay đổi lớn đối với cách viết mã.
- Di chuyển giữa lịch sử trạng thái đang phát triển và đánh giá lại trạng thái hiện tại từ lịch sử hành động khi mã thay đổi, là TDD.
- Cung cấp khả năng kiểm tra và kiểm soát đầy đủ cho công cụ phát triển để các nhà phát triển sản phẩm có thể xây dựng các công cụ tùy chỉnh cho họ
ứng dụng .
- Cung cấp UI thay thế trong khi sử dụng lại hầu hết logic kinh doanh.
Với nhiều ứng dụng này, quá sớm để nói rằng Redux sẽ được thay thế bằng API bối cảnh mới
duix
gói npm. Nó chỉ là một trình quản lý nhà nước đơn giản với các cuộc gọi lại, thực sự dễ thực hiện. Chỉ cần rõ ràng: Tôi là người sáng tạo.