Apa perbedaan antara komponen dan wadah dalam reaksi reduks?
javascript
reactjs
redux
Stanislav Mayorov
sumber
sumber
Jawaban:
Component
adalah bagian dari React API. Komponen adalah kelas atau fungsi yang menjelaskan bagian dari UI Bereaksi.Kontainer adalah istilah informal untuk komponen Bereaksi yang
connect
dikirimkan ke toko redux. Kontainer menerima pembaruan dandispatch
tindakan negara Redux , dan mereka biasanya tidak membuat elemen DOM; mereka mendelegasikan rendering ke komponen anak presentasi .Untuk lebih detail baca komponen presentasi vs wadah oleh Dan Abramov.
sumber
Komponen yang bertanggung jawab untuk mengambil data dan menampilkan disebut komponen cerdas atau wadah. Data dapat berasal dari redux, panggilan jaringan apa pun, atau berlangganan pihak ketiga.
Komponen bisu / presentasi adalah komponen yang bertanggung jawab untuk menyajikan tampilan berdasarkan alat peraga yang diterima.
Artikel bagus dengan contoh di sini
https://www.cronj.com/blog/difference-container-component-react-js/
sumber
Komponen membangun piace dari pandangan, sehingga harus membuat elemen DOM, meletakkan konten di layar.
Wadah berpartisipasi dalam elaborasi data, sehingga harus "berbicara" dengan redux, karena akan perlu mengubah keadaan. Jadi, Anda harus menyertakan connect (react-redux) apa yang membuat koneksi, dan fungsi mapStateToProps dan mapDispatchToProps :
sumber
Komponen
Komponen memungkinkan Anda membagi UI menjadi bagian-bagian yang independen dan dapat digunakan kembali, dan memikirkan setiap bagian secara terpisah. Mereka kadang-kadang disebut "komponen presentasi" dan perhatian utama adalah bagaimana hal-hal terlihat
Wadah
Wadah sama seperti komponen tanpa UI dan Wadah peduli dengan cara kerja. . Ini terutama berbicara ke toko redux untuk mendapatkan dan memperbarui data
lihat perbandingan tabel dari Redux doc
Penjelasan terperinci https://redux.js.org/basics/usage-with-react#presentational-and-container-components
sumber
Keduanya adalah komponen; kontainer fungsional, sehingga mereka tidak membuat html sendiri, dan kemudian Anda juga memiliki komponen presentasi, di mana Anda menulis html yang sebenarnya. Tujuan dari wadah ini adalah untuk memetakan keadaan dan mengirim alat peraga untuk komponen presentasi.
Bacaan lebih lanjut: Tautan
sumber
Bereaksi, Redux adalah perpustakaan independen.
Bereaksi memberi Anda kerangka kerja untuk membuat dokumen HTML. Komponen dengan cara mewakili bagian tertentu dari dokumen. Metode yang terkait dengan komponen kemudian dapat memanipulasi bagian dokumen yang sangat khusus.
Redux adalah kerangka kerja yang mengatur filosofi spesifik untuk menyimpan dan mengelola data di lingkungan JS. Ini satu objek JS besar dengan metode tertentu yang ditentukan, kasus penggunaan terbaik datang dalam bentuk pengelolaan negara aplikasi web.
Karena Bereaksi menetapkan bahwa semua data harus mengalir turun dari akar ke daun, menjadi membosankan untuk merawat semua alat peraga, mendefinisikan alat peraga dalam komponen dan kemudian meneruskan alat peraga ke alat peraga tertentu kepada anak-anak. Itu juga membuat seluruh negara aplikasi rentan.
React Redux menawarkan solusi bersih, di mana ia langsung menghubungkan Anda ke toko Redux, dengan hanya membungkus komponen yang terhubung di sekitar Komponen Bereaksi lain (Anda
Container
). Karena dalam implementasi Anda, implementasi Anda, Anda sudah menentukan bagian mana dari seluruh negara aplikasi yang Anda butuhkan. Jadiconnect
mengambil data itu keluar dari toko dan meneruskannya sebagai alat peraga ke komponen itu membungkus dirinya diseluruh.Pertimbangkan contoh sederhana ini:
connect
fungsi melewati penyanggatype
.Dengan cara ini sambungan berfungsi sebagai wadah untuk komponen Orang.
sumber
Bereaksi memiliki dua komponen utama pertama adalah komponen pintar (wadah) dan yang kedua bodoh (komponen presentasi). Wadah sangat mirip dengan komponen, satu-satunya perbedaan adalah bahwa wadah mengetahui kondisi aplikasi. Jika bagian dari halaman web Anda hanya digunakan untuk menampilkan data (bodoh) maka jadikan itu komponen. Jika Anda membutuhkannya untuk menjadi cerdas dan mengetahui keadaan (setiap kali data berubah) dalam aplikasi, maka jadikan itu wadah.
sumber