Rumah >hujung hadapan web >tutorial js >Perbincangan mendalam tentang teknik react_javascript rangka kerja hadapan
Ringkasan:
Baru-baru ini, syarikat itu akan membuat aplikasi bersarang dalam apl itu, dan sedang mempertimbangkan untuk menggunakan reaksi Facebook untuk membangunkan pandangan, jadi saya melakukan penyelidikan. Berikut adalah perangkap yang saya hadapi semasa pembangunan saya harap ia dapat membantu anda.
Alamat projek: https://github.com/baixuexiyang/react
Isu:https://github.com/baixuexiyang/react/issues
Selamat datang ke bintang dan garpu!
Kelebihan bertindak balas:
•Hanya nyatakan rupa aplikasi anda pada bila-bila masa dan apabila data asas berubah, React akan mengendalikan semua kemas kini antara muka pengguna secara automatik.
•Selepas data berubah, React secara konsepnya serupa dengan mengklik butang "Muat Semula", tetapi hanya bahagian yang diubah akan dikemas kini.
•React adalah tentang membina komponen boleh guna semula, menjadikan penggunaan semula kod, ujian dan pengasingan kebimbangan lebih mudah.
Nota:
1. Gunakan huruf besar pada huruf pertama komponen yang dimuatkan, contohnya:
2. Lapisan paling luar bagi setiap komponen mesti mempunyai elemen pembalut
3.this.props tidak boleh diubah suai, tetapi this.state boleh diubah suai
4. Acara page oclick tidak berfungsi dalam Safari pada ios, onClick={this.detail.bind(this, item)} perlu menggunakan kaedah lain, seperti acara mengikat jQuery
5.Tukar rentetan kepada html, dangerouslySetInnerHTML={{__html: ''}}
6.getInitialState: Dipanggil sekali sebelum komponen dipasang. Nilai pulangan akan digunakan sebagai nilai awal this.state.
getDefaultProps: Dipanggil sekali apabila kelas komponen dibuat, dan kemudian nilai pulangan dicache. Jika komponen induk tidak menyatakan kunci dalam prop, sifat yang sepadan dalam objek yang dikembalikan di sini akan digabungkan ke dalam this.props (gunakan dalam untuk mengesan harta tersebut).
Kaedah ini dipanggil sebelum sebarang kejadian dibuat dan oleh itu tidak boleh bergantung pada ini.props. Selain itu, sebarang objek kompleks yang dikembalikan oleh getDefaultProps() akan dikongsi antara kejadian, dan bukannya mempunyai salinan setiap contoh.
Kitaran hayat komponen:
komponenWillMount:
Kedua-dua pelayan dan pelanggan dipanggil sekali sahaja, sejurus sebelum pelaksanaan rendering awal.
componentDidMount:
Dipanggil sekali sejurus selepas pelaksanaan pemaparan awal, ia hanya sah di bahagian klien (ia tidak akan dipanggil di bahagian pelayan).
komponenWillReceiveProps:
Dipanggil apabila komponen menerima prop baharu. Kaedah ini tidak akan dipanggil semasa pemaparan awal.
shouldComponentUpdate:
Dipanggil selepas menerima prop atau keadaan baharu sebelum membuat persembahan. Kaedah ini tidak akan dipanggil semasa memulakan pemaparan, mahupun apabila menggunakan kaedah forceUpdate.
Jika ditentukan bahawa prop dan keadaan baharu tidak akan menyebabkan komponen dikemas kini, false harus dikembalikan di sini.
komponenWillUpdate:
Dipanggil segera sebelum menerima prop atau keadaan baharu. Kaedah ini tidak akan dipanggil semasa pemaparan awal.
componentDidUpdate:
Dipanggil serta-merta selepas kemas kini komponen telah disegerakkan ke DOM. Kaedah ini tidak akan dipanggil semasa memulakan pemaparan.
komponenWillUnmount:
Dipanggil serta-merta apabila komponen dialih keluar daripada DOM.
Ringkasan:
Menggunakan reaksi untuk membangunkan, semua html ditulis dalam fail js, jadi pembangunan tidak begitu lancar. Syorkan pemalam krom: React Developer Tools
Terdapat beberapa salah faham tentang React. Biar saya ringkaskan di sini:
React bukanlah rangka kerja MVC yang lengkap. Ia boleh dianggap sebagai V (View) dalam MVC paling banyak Even React tidak mengenali sepenuhnya model pembangunan MVC
Keupayaan Pemberian bahagian pelayan React hanya boleh dianggap sebagai icing pada kek, bukan titik permulaan terasnya, sebenarnya, tapak web rasmi React hampir tidak menyebut aplikasinya di bahagian pelayan
Sesetengah orang membandingkan React dengan Komponen Web, tetapi kedua-duanya tidak bersaing sepenuhnya. Anda boleh menggunakan React untuk membangunkan Komponen Web sebenar
React bukan bahasa templat baharu JSX hanyalah representasi boleh berfungsi tanpa JSX.