cari
Rumahhujung hadapan webSoal Jawab bahagian hadapanTerdapat beberapa cara untuk mengisytiharkan komponen tindak balas

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.

Terdapat beberapa cara untuk mengisytiharkan komponen tindak balas

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:

Dalam kebanyakan kod React, kebanyakan komponen ditulis sebagai komponen tanpa kewarganegaraan, yang boleh dibina ke dalam komponen lain melalui gabungan ringkas A ini dianjurkan; yang berbilang aplikasi mudah digabungkan menjadi satu aplikasi besar.

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 hayat

    Kerana 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: &#39;&#39;
    },
    // 设置 initial state
    getInitialState: function() {//组件相关的状态对象
        return {
            text: this.props.initialValue || &#39;placeholder&#39;
        };
    },
    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: &#39;&#39;
};

    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 || &#39;placeholder&#39;
            };
    
            // 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: &#39;&#39;
    };

    推荐学习:《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!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Faedah bertindak balas: prestasi, kebolehgunaan semula, dan banyak lagiFaedah bertindak balas: prestasi, kebolehgunaan semula, dan banyak lagiApr 15, 2025 am 12:05 AM

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: Membuat antara muka pengguna yang dinamik dan interaktifReact: Membuat antara muka pengguna yang dinamik dan interaktifApr 14, 2025 am 12:08 AM

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.

Rangka Kerja Backend: PerbandinganRangka Kerja Backend: PerbandinganApr 13, 2025 am 12:06 AM

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.

HTML dan React: Hubungan antara markup dan komponenHTML dan React: Hubungan antara markup dan komponenApr 12, 2025 am 12:03 AM

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 and the Frontend: Membina Pengalaman InteraktifReact and the Frontend: Membina Pengalaman InteraktifApr 11, 2025 am 12:02 AM

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 and the Frontend Stack: Alat dan TeknologiReact and the Frontend Stack: Alat dan TeknologiApr 10, 2025 am 09:34 AM

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.

Peranan React dalam HTML: Meningkatkan Pengalaman PenggunaPeranan React dalam HTML: Meningkatkan Pengalaman PenggunaApr 09, 2025 am 12:11 AM

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: Membuat unsur -unsur yang boleh diguna semula di HTMLKomponen React: Membuat unsur -unsur yang boleh diguna semula di HTMLApr 08, 2025 pm 05:53 PM

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.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Pelayar Peperiksaan Selamat

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

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual