Saya telah menonton tutorial Dan's Redux di egghead dan ingat satu saran bahwa jika komponen induk tidak menggunakan beberapa data tetapi membutuhkannya hanya untuk diteruskan ke anak-anak - jangan lakukan itu. Gunakan connect
untuk komponen anak yang membutuhkan data ini.
Saya suka saran ini karena saya benci melewatkan banyak data melalui alat peraga. Saya pikir ini adalah pendekatan yang umum digunakan tetapi baru-baru ini saya mengimplementasikan proyek "mini twitter" sebagai tugas tes ke perusahaan yang menggunakan redux dalam proyeknya dan itulah mengapa saya ingin bekerja di sana.
Tetapi kode saya ditolak karena "React-way terlalu memiliki maksimum komponen bodoh". Benarkah itu?
Ini kode saya jika seseorang ingin melihatnya https://bitbucket.org/amorphius/minitwitter/overview
Jadi, alasan kode ini dikenali sebagai kode buruk adalah karena terlalu banyak connect
dalam kode.
Dimana media bahagia?
Kami biasa mengatakan bahwa memiliki komponen yang kurang terhubung lebih baik di versi dokumen sebelumnya tetapi saya tidak mengantisipasi seberapa besar kultus kargo yang akan terjadi. 😞 Ya, menghubungkan setiap komponen sering kali berlebihan, tetapi begitu juga dengan meletakkan semuanya di atas! Menghubungkan hanya demi mendapatkan dispatch
secara khusus tidak berbahaya sehingga Anda tidak perlu merasa buruk untuk sering melakukannya.
Kode Anda terlihat baik-baik saja bagi saya. 👍
Terima kasih. Setidaknya saya sekarang memiliki argumen kuat bahwa kode saya baik-baik saja dan mungkin mendapatkan pekerjaan di perusahaan yang lebih baik :)
Tapi tetap saja saya tidak bisa membayangkan skenario di mana connect
berlebihan. Bagaimana mengembangkan keterampilan ini untuk mengetahui aturan mana yang harus saya pecahkan baik lewat data dari kontrol orang tua yang tidak menggunakan data ini ke kontrol anak atau memiliki connect
dalam kode (terutama jika itu membaca potongan kecil data dari toko)?
Jenis masalah apa yang akan muncul dengan banyak connect
dalam aplikasi?
Proses pemberitahuan pelanggan Redux adalah loop sederhana yang menjalankan setiap panggilan balik pelanggan, jadi itu jelas O (n). Secara teori, jika panggilan balik pelanggan melakukan sesuatu yang kompleks, atau jika jumlah pelanggan bertambah _very_ besar, itu bisa menjadi masalah kinerja.
Dalam praktiknya, itu mungkin tidak terlalu menjadi perhatian. Saya menduga Anda harus memiliki beberapa ribu langganan aktif, dengan banyak tindakan dikirim dalam satu detik, sebelum secara realistis menjadi masalah. Saya tidak tahu tentang tolok ukur spesifik apa pun pada saat ini yang dapat saya tunjukkan untuk memverifikasi itu, meskipun (kecuali mungkin perbandingan MobX / Redux baru-baru ini terkait).
Secara keseluruhan, saya pikir Anda harus aman mengikuti pendekatan klasik "buat itu berhasil, perbaiki, buat cepat". Tulis kode yang membuat fitur aplikasi Anda berfungsi dengan baik. Lihat apa yang telah Anda tulis dan sesuaikan strukturnya jika perlu agar lebih masuk akal. Jika terasa lambat, ukur dan patokan, dan perbaiki bagian-bagian yang sebenarnya lambat.
Komentar yang paling membantu
Kami biasa mengatakan bahwa memiliki komponen yang kurang terhubung lebih baik di versi dokumen sebelumnya tetapi saya tidak mengantisipasi seberapa besar kultus kargo yang akan terjadi. 😞 Ya, menghubungkan setiap komponen sering kali berlebihan, tetapi begitu juga dengan meletakkan semuanya di atas! Menghubungkan hanya demi mendapatkan
dispatch
secara khusus tidak berbahaya sehingga Anda tidak perlu merasa buruk untuk sering melakukannya.Kode Anda terlihat baik-baik saja bagi saya. 👍