Rumah >hujung hadapan web >tutorial js >15 React Temuduga Soalan dengan Penyelesaian
Dalam artikel ini, kita akan melihat lima belas soalan yang meliputi pelbagai pengetahuan yang penting untuk memahami dan bekerja dengan berkesan dengan React. Untuk setiap soalan, saya akan meringkaskan jawapannya dan memberi pautan ke sumber tambahan di mana anda boleh mengetahui lebih lanjut.
Takeaways Key
ia diterjemahkan ke JavaScript berikut:
<span><span><span><div</span> className<span>="sidebar"</span> /></span> </span>
Sebelum React 16.8 (pengenalan cangkuk), komponen berasaskan kelas digunakan untuk membuat komponen yang diperlukan untuk mengekalkan keadaan dalaman, atau menggunakan kaedah kitaran hayat (iaitu ComponentDidMount dan harus dikomponenkan). Komponen berasaskan kelas adalah kelas ES6 yang memanjangkan kelas komponen React dan, sekurang-kurangnya, melaksanakan kaedah render ().
Komponen Kelas:
<span>React.createElement( </span> <span>'div', </span> <span>{className: 'sidebar'} </span><span>) </span>
Komponen fungsional tidak beraksi (sekali lagi, Komponen Fungsi: Nota: Pengenalan cangkuk dalam React 16.8 bermaksud bahawa perbezaan ini tidak lagi berlaku (lihat soalan 14 dan 15). Apabila memberikan koleksi dalam React, menambah kunci kepada setiap elemen berulang adalah penting untuk membantu React Track persatuan antara elemen dan data. Kunci harus menjadi ID yang unik, idealnya UUID atau rentetan unik lain dari item koleksi: tidak menggunakan kunci, atau menggunakan indeks sebagai kunci, boleh mengakibatkan tingkah laku aneh apabila menambahkan dan mengeluarkan item dari koleksi. Props adalah data yang diserahkan kepada komponen dari ibu bapa. Mereka tidak boleh bermutasi, tetapi hanya dipaparkan atau digunakan untuk mengira nilai -nilai lain. Negeri adalah data dalaman komponen yang boleh diubah suai sepanjang hayat komponen, dan dikekalkan antara render semula. Jika anda cuba untuk bermutasi keadaan komponen secara langsung, React tidak mempunyai cara untuk mengetahui bahawa ia perlu membuat semula komponen. Dengan menggunakan kaedah setState (), React boleh mengemas kini UI komponen. Sebagai bonus, anda juga boleh bercakap tentang bagaimana kemas kini keadaan tidak dijamin menjadi segerak. Sekiranya anda perlu mengemas kini keadaan komponen berdasarkan sekeping negeri (atau prop) yang lain, lulus fungsi ke setState () yang mengambil negeri dan prop sebagai dua argumennya: Untuk menaip-memeriksa alat peraga komponen, anda boleh menggunakan pakej jenis prop (sebelum ini dimasukkan sebagai sebahagian daripada React, sebelum 15.5) untuk mengisytiharkan jenis nilai yang diharapkan dan sama ada prop diperlukan atau tidak: Penggerudian prop adalah apa yang berlaku apabila anda perlu lulus data dari komponen induk ke komponen yang lebih rendah dalam hierarki, "penggerudian" melalui komponen lain yang tidak memerlukan alat peraga sendiri selain menyampaikannya. Kadang -kadang penggerudian prop boleh dielakkan dengan refactoring komponen anda, mengelakkan komponen memecahkan komponen ke dalam yang lebih kecil, dan menjaga keadaan biasa dalam ibu bapa yang paling dekat. Di mana anda perlu berkongsi keadaan antara komponen yang mendalam/jauh di dalam pokok komponen anda, anda boleh menggunakan API konteks React, atau perpustakaan pengurusan negeri yang berdedikasi seperti Redux. Konteks API disediakan oleh React untuk menyelesaikan masalah perkongsian keadaan antara pelbagai komponen dalam aplikasi. Sebelum konteks diperkenalkan, satu -satunya pilihan adalah untuk membawa perpustakaan pengurusan negeri yang berasingan, seperti Redux. Walau bagaimanapun, ramai pemaju merasakan bahawa Redux memperkenalkan banyak kerumitan yang tidak perlu, terutamanya untuk aplikasi yang lebih kecil. Redux adalah perpustakaan pengurusan negeri pihak ketiga untuk React, yang dibuat sebelum API konteks wujud. Ia berdasarkan konsep bekas negara, yang dipanggil kedai, komponen itu dapat menerima data dari sebagai alat peraga. Satu -satunya cara untuk mengemas kini kedai adalah untuk menghantar tindakan ke kedai, yang diserahkan kepada pengurangan. Reducer menerima tindakan dan keadaan semasa, dan mengembalikan keadaan baru, mencetuskan komponen melanggan untuk membuat semula. <span>class Welcome extends React<span>.Component</span> {
</span> <span>render() {
</span> <span>return <h1>Hello, {this.props.name}</h1>;
</span> <span>}
</span><span>}
</span>
bacaan selanjutnya
4. Apa kunci yang digunakan?
Jawab
<span>function <span>Welcome</span>(props) {
</span> <span>return <h1>Hello, {props.name}</h1>;
</span><span>}
</span>
bacaan selanjutnya
5. Apakah perbezaan antara negeri dan prop?
Jawab
bacaan selanjutnya
6. Mengapa memanggil setState dan bukannya secara langsung bermutasi?
Jawab
Bonus
<span><span><span><div</span> className<span>="sidebar"</span> /></span>
</span>
bacaan selanjutnya
7. Bagaimana anda menyekat jenis nilai yang diluluskan sebagai prop, atau membuatnya diperlukan?
Jawab
<span>React.createElement(
</span> <span>'div',
</span> <span>{className: 'sidebar'}
</span><span>)
</span>
bacaan selanjutnya
8. Apakah penggerudian prop, dan bagaimana anda boleh mengelakkannya?
Jawab
bacaan selanjutnya
9. Apa itu React Context?
Jawab
bacaan selanjutnya
10. Apa itu Redux?
Jawab
Bermula dengan Redux
11. Apakah pendekatan yang paling biasa untuk menggayakan aplikasi React?
Jawab
Terdapat pelbagai pendekatan untuk menggayakan komponen reaksi, masing -masing dengan kebaikan dan keburukan. Yang utama disebutkan ialah:
bacaan selanjutnya
Cara Gaya React Components
12. Apakah perbezaan antara komponen terkawal dan tidak terkawal?
Jawab
Dalam dokumen HTML, banyak elemen bentuk (mis.
Atas ialah kandungan terperinci 15 React Temuduga Soalan dengan Penyelesaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!