Karena Konteks bukan lagi fitur eksperimental dan Anda dapat menggunakan Konteks dalam aplikasi Anda secara langsung dan akan bagus untuk meneruskan data ke komponen yang sangat bersarang untuk apa ia dirancang.
Seperti yang ditulis Mark erikson di blognya :
Jika Anda hanya menggunakan Redux untuk menghindari penurunan props, konteks bisa menggantikan Redux - tetapi Anda mungkin tidak membutuhkan Redux di tempat pertama.
Konteks juga tidak memberi Anda sesuatu seperti itu Redux DevTools
, kemampuan untuk melacak pembaruan keadaan Anda, middleware
untuk menambahkan logika aplikasi terpusat, dan kemampuan kuat lainnya yang Redux
memungkinkan.
Redux
jauh lebih kuat dan menyediakan sejumlah besar fitur yang Context Api
tidak disediakan, juga seperti yang disebutkan As @danAbramov
Bereaksi Redux menggunakan konteks secara internal tetapi tidak mengekspos fakta ini di API publik. Jadi Anda harus merasa jauh lebih aman menggunakan konteks melalui React Redux daripada secara langsung karena jika itu berubah, beban memperbarui kode akan berada di React Redux dan bukan Anda.
Hingga Redux benar-benar memperbarui implementasinya untuk mematuhi API konteks terbaru
API Konteks terbaru dapat digunakan untuk Aplikasi di mana Anda hanya akan menggunakan Redux untuk mengirimkan data antar komponen, namun aplikasi yang menggunakan data terpusat dan menangani permintaan API dalam pembuat Tindakan menggunakan redux-thunk
atau redux-saga
masih akan membutuhkan redux. Selain redux ini memiliki pustaka lain yang terkait seperti redux-persist
yang memungkinkan Anda untuk menyimpan data di localStorage dan rehydrate saat refresh yang merupakan konteks yang masih tidak didukung API.
Seperti @dan_abramov sebutkan di blog-nya Anda mungkin tidak perlu Redux , redux itu memiliki aplikasi yang bermanfaat
- Tetap bertahan ke penyimpanan lokal dan kemudian boot dari sana, di luar kotak.
- Status pra-isi pada server, kirim ke klien dalam HTML, dan boot dari sana, di luar kotak.
- Serialkan tindakan pengguna dan lampirkan, bersama dengan snapshot keadaan, ke laporan bug otomatis, sehingga pengembang produk
dapat memutar ulang untuk mereproduksi kesalahan.
- Lewati objek aksi melalui jaringan untuk mengimplementasikan lingkungan kolaboratif tanpa perubahan dramatis pada bagaimana kode ditulis.
- Pertahankan riwayat batalkan atau terapkan mutasi optimis tanpa perubahan dramatis pada bagaimana kode ditulis.
- Bepergian di antara riwayat status dalam pengembangan, dan evaluasi kembali keadaan saat ini dari riwayat tindakan saat kode berubah, ala TDD.
- Memberikan kemampuan inspeksi dan kontrol penuh ke perangkat pengembangan sehingga pengembang produk dapat membuat alat khusus untuk
aplikasi mereka .
- Berikan UI alternatif sambil menggunakan kembali sebagian besar logika bisnis.
Dengan banyak aplikasi ini terlalu cepat untuk mengatakan bahwa Redux akan digantikan oleh API Konteks baru
duix
paket npm. Itu hanya manajer negara sederhana dengan panggilan balik, sangat mudah diimplementasikan. Untuk lebih jelasnya: Akulah penciptanya.