


Terdapat tiga cara untuk mengisytiharkan komponen tindak balas: 1. Gunakan kaedah berfungsi untuk menentukan komponen tanpa kewarganegaraan 2. Gunakan kaedah "React.createClass()" untuk menentukan komponen 3. Gunakan "React.Component(); " Kaedah menentukan komponen dalam gaya ES6.
Persekitaran pengendalian tutorial ini: sistem Windows 7, bertindak balas versi 17.0.1, komputer Dell G3.
Cara tindak balas mengisytiharkan (mencipta) komponen:
Selepas React dilancarkan, terdapat tiga cara untuk menentukan komponen tindak balas atas sebab yang berbeza . Kaedah, pendekatan yang berbeza membawa kepada matlamat yang sama; React.createClass( ) Tentukan komponen
- React.Component() Tentukan komponen
- Walaupun terdapat tiga cara untuk mentakrifkan komponen tindak balas, maka ini tiga cara untuk menentukan komponen Apakah perbezaannya? Dalam erti kata lain, mengapa definisi yang sepadan muncul? Berikut adalah pengenalan ringkas.
- Komponen Fungsi Tanpa Status
Mencipta komponen fungsi tanpa kewarganegaraan mula muncul dalam React versi 0.14. Ia digunakan untuk mencipta komponen paparan tulen, yang hanya bertanggungjawab untuk memaparkan berdasarkan prop yang masuk dan tidak melibatkan operasi negeri. Komponen fungsi tanpa kewarganegaraan khusus, kata pegawai itu:
Komponen fungsi tanpa kewarganegaraan secara rasmi diwakili sebagai kelas komponen dengan hanya satu kaedah pemaparan Ia dicipta dalam bentuk fungsi atau fungsi anak panah ES6, dan komponen itu tanpa kewarganegaraan. Borang ciptaan khusus adalah seperti berikut:
Bentuk penciptaan komponen tanpa kewarganegaraan menjadikan kod lebih mudah dibaca, dan mengurangkan banyak kod berlebihan, memudahkannya kepada hanya satu kaedah render, yang sangat meningkatkan Selain itu untuk kemudahan menulis komponen, komponen tanpa kewarganegaraan juga mempunyai ciri ketara berikut: Bentuk penciptaan komponen tanpa kewarganegaraan menjadikan kod lebih mudah dibaca dan mengurangkan banyak kod berlebihan Kod dikurangkan kepada hanya satu pemaparan kaedah, yang sangat meningkatkan kemudahan menulis komponen Selain itu, komponen tanpa kewarganegaraan mempunyai ciri-ciri ketara berikut:Komponen tidak disegerakan, prestasi pemaparan keseluruhan dipertingkatkan
Oleh kerana komponen dipermudahkan kepada fungsi kaedah render Memandangkan ia adalah komponen tanpa kewarganegaraan, komponen tanpa kewarganegaraan tidak akan berada dalam proses instantiasi komponen Proses bukan instan tidak perlu memperuntukkan lebihan memori. jadi prestasi dipertingkatkan ke tahap tertentu.
function HelloComponent(props, /* context */) { return <div>Hello {props.name}</div> } ReactDOM.render(<HelloComponent name="Sebastian" />, mountNode)Komponen tidak boleh mengakses objek ini Komponen tanpa status tidak mempunyai proses instantiasi, jadi mereka tidak boleh mengakses objek dalam komponen ini, seperti: this.ref, this.state Tiada boleh mengaksesnya. Jika anda ingin mengakses, anda tidak boleh menggunakan borang ini untuk mencipta komponen
- Komponen tidak boleh mengakses kaedah kitaran hayatKerana komponen tanpa kewarganegaraan tidak memerlukan pengurusan dan status kitaran hayat komponen Pengurusan, jadi apabila pelaksanaan asas bentuk komponen ini tidak melaksanakan kaedah kitaran hayat komponen. Oleh itu, komponen tanpa negara tidak boleh mengambil bahagian dalam pelbagai pengurusan kitaran hayat komponen.
- Komponen tanpa status hanya boleh mengakses prop input yang sama akan mendapat hasil pemaparan yang sama tanpa kesan sampingan
- Komponen Tanpa Status digalakkan. ditulis semudah mungkin dalam projek besar untuk memisahkan komponen yang asalnya besar Pada masa hadapan, React juga akan melaksanakan satu siri pengoptimuman untuk komponen tanpa kewarganegaraan, seperti semakan tidak bermakna dan peruntukan memori, jadi apabila boleh, Gunakan komponen tanpa kewarganegaraan apabila boleh.
React.createClass
- React.createClass ialah cara untuk mencipta komponen yang disyorkan pada permulaan react Ini ialah komponen React yang dilaksanakan dalam JavaScript asli ES5. Bentuknya Seperti berikut: Berbanding dengan komponen tanpa kewarganegaraan, React.createClass dan React.Component yang akan diterangkan kemudian kedua-duanya mencipta komponen stateful dan boleh mengakses kaedah kitaran hayat . Walau bagaimanapun, dengan pembangunan React, masalah dengan borang React.createClass itu sendiri telah terdedah:
React.createClass akan mengikat sendiri kaedah fungsi (tidak seperti React.Component yang hanya mengikat perkara yang anda perlu ambil berat tentang) berfungsi) menyebabkan overhed prestasi yang tidak perlu dan meningkatkan kemungkinan kod menjadi usang.
Bauran React.createClass tidak cukup semula jadi dan intuitif; dalam bentuk yang lebih intuitif Fungsi yang lebih berkuasa, dan HOC adalah JavaScript tulen, tidak perlu risau tentang ia ditinggalkan. Untuk HOC, sila rujuk "Komponen Tanpa Status dan Komponen Pesanan Tinggi".
var InputControlES5 = React.createClass({ propTypes: {//定义传入props中的属性各种类型 initialValue: React.PropTypes.string }, defaultProps: { //组件默认的props对象 initialValue: '' }, // 设置 initial state getInitialState: function() {//组件相关的状态对象 return { text: this.props.initialValue || 'placeholder' }; }, handleChange: function(event) { this.setState({ //this represents react component instance text: event.target.value }); }, render: function() { return ( <div> Type something: <input onChange={this.handleChange} value={this.state.text} /> </div> ); } }); InputControlES6.propTypes = { initialValue: React.PropTypes.string }; InputControlES6.defaultProps = { initialValue: '' };
- React.Component
-
React.Component是以ES6的形式来创建react的组件的,是React目前极为推荐的创建有状态组件的方式,最终会取代React.createClass形式;相对于 React.createClass可以更好实现代码复用。将上面React.createClass的形式改为React.Component形式如下:
class InputControlES6 extends React.Component { constructor(props) { super(props); // 设置 initial state this.state = { text: props.initialValue || 'placeholder' }; // ES6 类中函数必须手动绑定 this.handleChange = this.handleChange.bind(this); } handleChange(event) { this.setState({ text: event.target.value }); } render() { return ( <div> Type something: <input onChange={this.handleChange} value={this.state.text} /> </div> ); } } InputControlES6.propTypes = { initialValue: React.PropTypes.string }; InputControlES6.defaultProps = { initialValue: '' };
推荐学习:《react视频教程》
Atas ialah kandungan terperinci Terdapat beberapa cara untuk mengisytiharkan komponen tindak balas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Populariti React termasuk pengoptimuman prestasi, penggunaan semula komponen dan ekosistem yang kaya. 1. Pengoptimuman prestasi mencapai kemas kini yang cekap melalui mekanisme maya dan mekanisme yang berbeza. 2. Penggunaan semula komponen mengurangkan kod pendua oleh komponen yang boleh diguna semula. 3. Ekosistem yang kaya dan aliran data sehala meningkatkan pengalaman pembangunan.

React adalah alat pilihan untuk membina antara muka pengguna yang dinamik dan interaktif. 1) Komponen dan JSX membuat UI berpecah dan menggunakan semula mudah. 2) Pengurusan negeri dilaksanakan melalui cangkuk UseState untuk mencetuskan kemas kini UI. 3) Mekanisme pemprosesan acara bertindak balas terhadap interaksi pengguna dan meningkatkan pengalaman pengguna.

React adalah rangka kerja front-end untuk membina antara muka pengguna; Rangka kerja back-end digunakan untuk membina aplikasi sisi pelayan. React menyediakan kemas kini UI yang komponen dan cekap, dan Rangka Kerja Backend menyediakan penyelesaian perkhidmatan backend lengkap. Apabila memilih timbunan teknologi, keperluan projek, kemahiran pasukan, dan skalabiliti harus dipertimbangkan.

Hubungan antara HTML dan React adalah teras pembangunan front-end, dan mereka bersama-sama membina antara muka pengguna aplikasi web moden. 1) HTML mentakrifkan struktur kandungan dan semantik, dan React membina antara muka dinamik melalui komponenisasi. 2) Komponen React Gunakan sintaks JSX untuk membenamkan HTML untuk mencapai rendering pintar. 3) Kitaran Hayat Komponen Menguruskan Rendering HTML dan Kemas kini secara dinamik mengikut keadaan dan atribut. 4) Gunakan komponen untuk mengoptimumkan struktur HTML dan meningkatkan keupayaan. 5) Pengoptimuman prestasi termasuk mengelakkan penyampaian yang tidak perlu, menggunakan atribut utama, dan menjaga tanggungjawab tunggal komponen.

React adalah alat pilihan untuk membina pengalaman front-end interaktif. 1) React memudahkan pembangunan UI melalui komponen dan DOM maya. 2) Komponen dibahagikan kepada komponen fungsi dan komponen kelas. Komponen fungsi adalah lebih mudah dan komponen kelas menyediakan lebih banyak kaedah kitaran hayat. 3) Prinsip kerja React bergantung kepada algoritma DOM dan perdamaian maya untuk meningkatkan prestasi. 4) Pengurusan negeri menggunakan useState atau ini. Kaedah kitaran hayat seperti ComponentDidMount digunakan untuk logik tertentu. 5) Penggunaan asas termasuk membuat komponen dan pengurusan negeri, dan penggunaan lanjutan melibatkan cangkuk tersuai dan pengoptimuman prestasi. 6) Kesalahan biasa termasuk kemas kini status yang tidak betul dan isu prestasi, kemahiran debugging termasuk menggunakan reactdevtools dan sangat baik

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, dengan komponen terasnya dan pengurusan negeri. 1) Memudahkan pembangunan UI melalui komponen dan pengurusan negeri. 2) Prinsip kerja termasuk perdamaian dan rendering, dan pengoptimuman dapat dilaksanakan melalui React.Memo dan Usememo. 3) Penggunaan asas adalah untuk membuat dan membuat komponen, dan penggunaan lanjutan termasuk menggunakan cangkuk dan konteksapi. 4) Kesalahan biasa seperti kemas kini status yang tidak betul, anda boleh menggunakan ReactDevTools untuk debug. 5) Pengoptimuman prestasi termasuk menggunakan react.memo, senarai virtualisasi dan codesplitting, dan menyimpan kod yang boleh dibaca dan dikekalkan adalah amalan terbaik.

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.

Komponen React boleh ditakrifkan oleh fungsi atau kelas, merangkumi logik UI dan menerima data input melalui prop. 1) Tentukan komponen: Gunakan fungsi atau kelas untuk mengembalikan elemen bertindak balas. 2) Rendering Component: React Call Render Kaedah atau Melaksanakan Komponen Fungsi. 3) Komponen multiplexing: Lulus data melalui prop untuk membina UI yang kompleks. Pendekatan kitaran hayat komponen membolehkan logik dilaksanakan pada peringkat yang berbeza, meningkatkan kecekapan pembangunan dan pemeliharaan kod.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver Mac版
Alat pembangunan web visual

Dreamweaver CS6
Alat pembangunan web visual