Bereaksi 16.3.0 dirilis dan API Konteks bukan fitur eksperimental lagi. Dan Abramov (pencipta Redux) menulis komentar yang baik di sini tentang ini, tetapi itu adalah 2 tahun ketika Konteks masih merupakan fitur Eksperimental.
Pertanyaan saya adalah, menurut pendapat / pengalaman Anda kapan saya harus menggunakan Bereaksi Konteks atas Bereaksi Redux dan sebaliknya?
javascript
reactjs
redux
react-redux
react-context
Alfrex92
sumber
sumber
duix
paket npm. Itu hanya manajer negara sederhana dengan panggilan balik, sangat mudah diimplementasikan. Untuk lebih jelasnya: Akulah penciptanya.Jawaban:
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 :
Redux
jauh lebih kuat dan menyediakan sejumlah besar fitur yangContext Api
tidak disediakan, juga seperti yang disebutkan As @danAbramovHingga 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
atauredux-saga
masih akan membutuhkan redux. Selain redux ini memiliki pustaka lain yang terkait sepertiredux-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
Dengan banyak aplikasi ini terlalu cepat untuk mengatakan bahwa Redux akan digantikan oleh API Konteks baru
sumber
Jika Anda menggunakan Redux hanya untuk menghindari melewati alat peraga ke komponen yang sangat bersarang , maka Anda dapat mengganti Redux dengan
Context
API. Ini persis ditujukan untuk use case ini.Di sisi lain, jika Anda menggunakan Redux untuk segala hal lain (memiliki wadah keadaan yang dapat diprediksi, menangani logika aplikasi Anda di luar komponen Anda, memusatkan keadaan aplikasi Anda, menggunakan Redux DevTools untuk melacak kapan, di mana, mengapa, dan bagaimana status aplikasi Anda diubah, atau menggunakan plugin seperti Redux Form , Redux Saga , Redux Undo , Redux Persist , Redux Logger , dll ...), maka sama sekali tidak ada alasan bagi Anda untuk meninggalkan Redux. The
Context
API tidak menyediakan semua ini.Dan saya pribadi percaya bahwa ekstensi Redux DevTools adalah alat debugging yang luar biasa, diremehkan, yang dibenarkan dengan sendirinya untuk terus menggunakan Redux.
Beberapa referensi:
sumber
Saya lebih suka menggunakan redux dengan redux-thunk untuk melakukan panggilan API (juga menggunakan Axios) dan mengirimkan respons terhadap reduksi. Itu bersih dan mudah dimengerti.
API Konteks sangat spesifik untuk bagian react-redux tentang bagaimana komponen Bereaksi terhubung ke toko. Untuk ini, reaksi-redux baik. Tetapi jika Anda mau, karena Konteks secara resmi didukung, Anda bisa menggunakan API Konteks daripada bereaksi-redux.
Jadi, pertanyaannya adalah Context API vs react-redux, dan bukan Context API vs redux. Juga, pertanyaannya sedikit dikemukakan. Karena, saya terbiasa dengan reaksi-redux dan menggunakannya di semua proyek, saya akan terus menggunakannya. (Tidak ada insentif bagi saya untuk berubah).
Tetapi jika Anda mempelajari redux hanya hari ini, dan Anda belum menggunakannya di mana pun, ada baiknya mencoba Context API dan mengganti react-redux dengan kode API Konteks kustom Anda. Mungkin jauh lebih bersih.
Secara pribadi, ini adalah pertanyaan tentang keakraban. Tidak ada alasan yang jelas untuk memilih satu dari yang lain karena mereka setara. Dan secara internal, reaksi-redux menggunakan Konteks.
sumber
Satu-satunya alasan untuk menggunakan Redux untuk saya adalah:
Anda mungkin tidak memerlukan tingkat tipuan untuk seluruh aplikasi Anda, jadi tidak masalah untuk mencampur gaya dan menggunakan negara bagian / konteks dan Redux keduanya pada saat yang sama.
sumber
Dari: Kapan menggunakan Redux?
sumber