Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Bagaimana anda menyambungkan komponen React ke kedai Redux menggunakan Connect ()?

Bagaimana anda menyambungkan komponen React ke kedai Redux menggunakan Connect ()?

Emily Anne Brown
Lepaskan: 2025-03-21 18:23:34
asal
551 orang telah melayarinya

Bagaimana anda menyambungkan komponen React ke kedai Redux menggunakan Connect ()?

Untuk menyambungkan komponen React ke kedai Redux menggunakan fungsi connect() dari perpustakaan react-redux , anda mengikuti langkah-langkah ini:

  1. Import connect : Pertama, anda perlu mengimport fungsi connect dari react-redux :

     <code class="javascript">import { connect } from 'react-redux';</code>
    Salin selepas log masuk
  2. Tentukan mapStateToProps dan mapDispatchToProps : Fungsi -fungsi ini adalah pilihan tetapi biasa digunakan. mapStateToProps mengambil keadaan kedai dan mengembalikan objek prop untuk komponen anda. mapDispatchToProps mengambil fungsi dispatch dan mengembalikan objek pencipta tindakan yang terikat untuk dispatch .

     <code class="javascript">const mapStateToProps = (state) => { return { // Example props todos: state.todos, }; }; const mapDispatchToProps = (dispatch) => { return { // Example action addTodo: (text) => dispatch(addTodo(text)), }; };</code>
    Salin selepas log masuk
  3. Gunakan connect untuk membungkus komponen anda : Anda menggunakan connect untuk membungkus komponen anda, melewati mapStateToProps dan mapDispatchToProps sebagai argumennya. Ini mewujudkan komponen baru yang disambungkan ke kedai Redux.

     <code class="javascript">const ConnectedComponent = connect( mapStateToProps, mapDispatchToProps )(YourComponent);</code>
    Salin selepas log masuk
  4. Eksport komponen yang disambungkan : Akhirnya, anda boleh mengeksport komponen yang disambungkan baru ini untuk digunakan di bahagian lain aplikasi anda.

     <code class="javascript">export default ConnectedComponent;</code>
    Salin selepas log masuk

Dengan mengikuti langkah -langkah ini, komponen React anda akan dapat menerima data dari kedai Redux dan menghantar tindakan ke kedai, membolehkan aliran data unidirectional yang tipikal dalam aplikasi Redux.

Apakah faedah menggunakan Connect () untuk menghubungkan komponen React dengan kedai Redux?

Menggunakan connect() untuk menghubungkan komponen React dengan kedai Redux memberikan beberapa faedah utama:

  1. Pengambilan data deklaratif : Dengan connect() , anda boleh menentukan secara mendekati data apa yang diperlukan komponen anda dari kedai, memudahkan proses menguruskan keadaan di seluruh aplikasi anda.
  2. Pemisahan Kebimbangan : Ia membantu mengekalkan pemisahan yang bersih antara komponen UI anda dan logik perniagaan yang terkandung di kedai Redux, mempromosikan organisasi kod yang lebih baik dan kebolehgunaan semula.
  3. Pengoptimuman Prestasi : connect() Latihan shouldComponentUpdate di bawah tudung, yang dapat membantu mengoptimumkan prestasi permohonan anda dengan menghalang pengendali semula yang tidak perlu apabila keadaan berubah tetapi alat peraga yang relevan tidak.
  4. Pengurusan Negeri yang dipermudahkan : Dengan memusatkan Negeri di kedai Redux, connect() memudahkan bagaimana keadaan dilalui melalui komponen, mengurangkan penggerudian prop dan menjadikannya lebih mudah untuk menguruskan interaksi keadaan kompleks.
  5. Ujian yang lebih mudah : Komponen yang berkaitan dengan connect() lebih mudah untuk diuji kerana anda boleh mengejek kedai Redux dan menguji komponen secara berasingan, dengan keadaan dan tindakan yang telah ditetapkan.

Bolehkah anda menerangkan bagaimana MapStateToProps dan MapDispatchToprops berfungsi dalam fungsi Connect ()?

mapStateToProps dan mapDispatchToProps adalah fungsi penting dalam fungsi connect() yang melayani tujuan tertentu:

  • MapStateToProps : Fungsi ini mengambil keseluruhan keadaan kedai Redux sebagai hujah pertama dan mengembalikan objek. Kekunci dalam objek ini menjadi alat yang diserahkan kepada komponen anda. Pada asasnya, ia memetakan bahagian -bahagian keadaan Redux kepada alat komponen anda, yang membolehkan komponen anda melanggan perubahan keadaan. Contohnya:

     <code class="javascript">const mapStateToProps = (state) => { return { todos: state.todos, }; };</code>
    Salin selepas log masuk

    Dalam contoh ini, apabila keadaan di Redux Store berubah, mapStateToProps berjalan, dan jika keadaan todos telah berubah, ia akan lulus data todos baru ini sebagai prop ke komponen yang disambungkan.

  • Mapdispatchtoprops : Fungsi ini mengambil fungsi dispatch dari kedai Redux sebagai hujahnya dan mengembalikan objek dengan pencipta tindakan sebagai nilai. Pencipta tindakan ini, apabila dipanggil, menghantar tindakan ke kedai Redux. Kekunci objek menjadi alat untuk komponen anda. Contohnya:

     <code class="javascript">const mapDispatchToProps = (dispatch) => { return { addTodo: (text) => dispatch(addTodo(text)), }; };</code>
    Salin selepas log masuk

    Di sini, addTodo menjadi prop pada komponen yang disambungkan, yang boleh dipanggil sebagai this.props.addTodo(text) dalam komponen, menghantar tindakan addTodo ke kedai.

Bagaimanakah prestasi aplikasi React berubah apabila menggunakan Connect () dengan Redux?

Menggunakan connect() dengan Redux boleh memberi kesan kepada prestasi aplikasi React dalam kedua -dua cara positif dan negatif:

  1. Impak positif :

    • REDERS REP yang dioptimumkan : Gambaran fungsi connect() shouldComponentUpdate Secara automatik. Ini bermakna bahawa komponen yang disambungkan hanya diperuntukkan semula apabila bahagian-bahagian yang berkaitan dengan negeri (seperti yang ditentukan oleh mapStateToProps ) sebenarnya telah berubah, berpotensi meningkatkan prestasi dengan mengurangkan pemberi semula yang tidak perlu.
    • Mengurangkan penggerudian prop : Dengan memusatkan pengurusan negeri, Redux dengan connect() dapat memudahkan aliran data melalui aplikasi anda, mengurangkan keperluan untuk meluluskan prop secara mendalam melalui pokok komponen dan dengan itu mungkin meningkatkan kecekapan komponen komponen.
  2. Potensi kesan negatif :

    • Overhead langganan kedai : Setiap kali keadaan di Redux Store berubah, semua komponen yang bersambung mesti memeriksa sama ada alat peraga mereka telah berubah. Dalam aplikasi besar dengan banyak komponen yang disambungkan, ini boleh menyebabkan prestasi melanda, terutamanya jika banyak komponen melanggan kepingan keadaan yang sama.
    • Kerumitan dalam aplikasi yang besar : Apabila aplikasi berkembang, menguruskan kerumitan kepingan negara dan memastikan fungsi mapStateToProps dioptimumkan dan tidak secara tidak sengaja mencetuskan semula pelaku boleh menjadi mencabar, berpotensi mempengaruhi prestasi jika tidak dikendalikan dengan betul.

Untuk mengurangkan kesan ini, pemaju boleh menggunakan teknik seperti memoisasi dengan reselect untuk mapStateToProps , atau mempertimbangkan menggunakan React.memo untuk komponen yang disambungkan untuk mengawal semula semula berdasarkan perubahan prop. Di samping itu, reka bentuk yang teliti struktur negeri dan penggunaan kedai dapat membantu menguruskan prestasi dengan berkesan dalam aplikasi yang lebih besar.

Atas ialah kandungan terperinci Bagaimana anda menyambungkan komponen React ke kedai Redux menggunakan Connect ()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan