cari
Rumahhujung hadapan webtutorial jsMenguasai penggunaan ReactContext Hook: Panduan Mudah untuk Pengurusan Negeri Dikongsi

Mastering React

gunakanContext Hook dalam React

Kail useContext ialah cangkuk React terbina dalam yang membolehkan anda mengakses nilai Konteks secara langsung, tanpa perlu menggunakan Konteks.Pengguna komponen. Ia memudahkan mengakses data global atau dikongsi dalam aplikasi React, seperti pengesahan pengguna, tetapan tema atau pilihan bahasa, tanpa menurunkan prop secara manual melalui setiap peringkat pepohon komponen.


Apakah Konteks dalam Reaksi?

Sebelum menyelami useContext, adalah penting untuk memahami Konteks. Dalam React, Context menyediakan cara untuk berkongsi nilai seperti konfigurasi atau keadaan merentas pepohon komponen tanpa perlu menghantar prop secara manual pada setiap peringkat.

  • Pembekal Konteks digunakan untuk membalut sebahagian daripada pokok komponen dan memberikan nilai kepada semua komponen di dalam pokok itu.
  • useContext membenarkan komponen menggunakan nilai yang disediakan oleh Context.Provider.

Sintaks penggunaanKonteks

Kail useContext menerima satu hujah: objek Konteks dan mengembalikan nilai konteks semasa.

const contextValue = useContext(MyContext);
  • MyContext: Ini ialah objek konteks yang telah anda buat menggunakan React.createContext().

  • contextValue: Ini ialah nilai yang diberikan oleh konteks. Ia boleh jadi apa sahaja: objek, rentetan, nombor, dsb.


Cara penggunaanContext Berfungsi

  1. Buat Konteks: Anda mula-mula mencipta Konteks menggunakan React.createContext(). Konteks ini memegang nilai lalai.
   const MyContext = React.createContext('default value');
  1. Sediakan Konteks: Komponen Context.Provider digunakan untuk memberikan nilai kepada komponen dalam pokoknya. Mana-mana komponen dalam pokok ini boleh mengakses nilai konteks menggunakan useContext.
   const App = () => {
     const user = { name: 'John Doe', age: 30 };

     return (
       <mycontext.provider value="{user}">
         <componenta></componenta>
       </mycontext.provider>
     );
   };
  1. Konteks Penggunaan: Di dalam mana-mana komponen anak, gunakan useContext untuk mengakses nilai daripada konteks.
   const ComponentA = () => {
     const user = useContext(MyContext); // Access the context value

     return (
       <div>
         <p>{user.name}</p>
         <p>{user.age}</p>
       </div>
     );
   };
  • Dalam contoh ini, ComponentA boleh mengakses objek pengguna (disediakan oleh MyContext.Provider) tanpa menerimanya secara eksplisit melalui prop.

Contoh: Menggunakan useContext untuk Penukaran Tema

Berikut ialah contoh di mana kami menggunakan useContext untuk kefungsian penukaran tema yang mudah.

Langkah 1: Buat Konteks

const contextValue = useContext(MyContext);

Langkah 2: Sediakan Konteks

Balut apl anda dengan ThemeContext.Provider untuk membekalkan nilai (tema semasa).

   const MyContext = React.createContext('default value');

Langkah 3: Gunakan Konteks

Dalam ComponentA, anda boleh mengakses tema semasa menggunakan useContext.

Const KomponenA = () => {
  const theme = useContext(ThemeContext); // Akses tema semasa

  kembali (
    <div>



<ul>
<li>
<strong>Penjelasan:</strong>

<ul>
<li>
Apl menyediakan nilai konteks tema ('cerah' atau 'gelap').</li>
<li>
ComponentA menggunakan useContext untuk menggunakan tema semasa dan menukar gayanya dengan sewajarnya.</li>
</ul>


</li>

</ul>


<hr>

<h3>
  
  
  <strong>Berbilang Konteks dalam Komponen</strong>
</h3>

<p>Anda boleh menggunakan berbilang konteks dalam satu komponen. Contohnya, menggunakan ThemeContext dan UserContext:<br>
</p>

<pre class="brush:php;toolbar:false">const UserContext = createContext({ name: 'Alice' });
const ThemeContext = createContext('light');

const App = () => {
  kembali (
    <themecontext.provider value="gelap">
      <usercontext.provider value="{{" name:>
        <komponen></komponen>
      </usercontext.provider>
    </themecontext.provider>
  );
};

const Komponen = () => {
  const theme = useContext(ThemeContext);
  pengguna const = useContext(UserContext);

  kembali (
    <div>




<hr>

<h3>
  
  
  <strong>Bila Gunakan useContext</strong>
</h3>

<p>Kail <strong>useContext</strong> paling berguna apabila:</p>

<ol>
<li>
<strong>Mengelakkan Penggerudian Prop:</strong> Melepasi prop secara mendalam melalui banyak lapisan komponen boleh menjadi menyusahkan. Menggunakan konteks, anda boleh mengelakkan perkara ini dan membenarkan komponen di mana-mana peringkat pokok menggunakan nilai yang dikongsi.</li>
<li>
<strong>Pengurusan Negeri Global:</strong> Apabila anda memerlukan keadaan global (seperti tema, pengesahan, pilihan pengguna) boleh diakses oleh banyak komponen di bahagian apl yang berbeza.</li>
<li>
<strong>Berkongsi Data Merentas Komponen:</strong> Jika terdapat keperluan untuk berkongsi data biasa (cth., maklumat pengguna, tetapan, konfigurasi) merentas berbilang komponen, useContext menyediakan penyelesaian yang bersih.</li>
</ol>


<hr>

<h3>
  
  
  <strong>Pertimbangan Prestasi</strong>
</h3>

<p>Walaupun <strong>useContext</strong> berkuasa, ia boleh menyebabkan pemaparan semula jika nilai konteks berubah. Setiap kali nilai konteks dikemas kini, semua komponen yang menggunakan konteks tersebut akan dipaparkan semula. Untuk mengoptimumkan ini:</p>
<ul>
<li>
<strong>Hafal nilai konteks</strong>: Pastikan nilai konteks itu sendiri tidak berubah tanpa perlu.</li>
<li>
<strong>Pembekal konteks pisah</strong>: Jika apl anda mempunyai berbilang keping data kongsi, bahagikannya kepada konteks yang berbeza untuk meminimumkan pemaparan semula yang tidak perlu.</li>
</ul>


<hr>

<h3>
  
  
  <strong>Ringkasan penggunaanContext Hook</strong>
</h3>

<ul>
<li>
<strong>useContext</strong> membolehkan anda menggunakan nilai konteks secara langsung dalam komponen berfungsi.</li>
<li>Anda mencipta <strong>Konteks</strong> menggunakan React.createContext(), dan gunakan <strong>useContext</strong> untuk mengakses nilai konteks dalam mana-mana komponen yang dibalut oleh <strong>Context.Provider</strong>.</li>
<li>Berguna untuk mengelakkan penggerudian prop dan berkongsi data merentas berbilang komponen tanpa menghantar prop secara manual.</li>
<li>Mengoptimumkan prestasi penggunaan konteks memerlukan pengurusan nilai konteks dan penghafalan yang teliti.</li>
</ul>


<hr>

<h3>
  
  
  <strong>Kesimpulan</strong>
</h3>

<p>Kait <strong>useContext</strong> ialah alat penting untuk mengurus keadaan kongsi dalam aplikasi React. Ia memudahkan proses penggunaan nilai konteks dan membantu mengelakkan penggerudian prop yang tidak perlu, menjadikan kod React anda lebih mudah dibaca dan diselenggara. Dengan memanfaatkan useContext, anda boleh mencipta aplikasi yang lebih fleksibel dan berskala dengan keadaan kongsi yang boleh diakses dengan mudah oleh mana-mana komponen dalam pepohon.</p>


<hr>


          </div>

            
        

Atas ialah kandungan terperinci Menguasai penggunaan ReactContext Hook: Panduan Mudah untuk Pengurusan Negeri Dikongsi. 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
Asal JavaScript: Meneroka Bahasa PelaksanaannyaAsal JavaScript: Meneroka Bahasa PelaksanaannyaApr 29, 2025 am 12:51 AM

JavaScript berasal pada tahun 1995 dan dicipta oleh Brandon Ike, dan menyedari bahasa itu menjadi C. 1.C Language menyediakan keupayaan pengaturcaraan prestasi tinggi dan sistem untuk JavaScript. 2. Pengurusan memori JavaScript dan pengoptimuman prestasi bergantung pada bahasa C. 3. Ciri lintas platform bahasa C membantu JavaScript berjalan dengan cekap pada sistem operasi yang berbeza.

Di sebalik tabir: Apa bahasa JavaScript?Di sebalik tabir: Apa bahasa JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript berjalan dalam penyemak imbas dan persekitaran Node.js dan bergantung pada enjin JavaScript untuk menghuraikan dan melaksanakan kod. 1) menjana pokok sintaks abstrak (AST) di peringkat parsing; 2) menukar AST ke bytecode atau kod mesin dalam peringkat penyusunan; 3) Laksanakan kod yang disusun dalam peringkat pelaksanaan.

Masa Depan Python dan JavaScript: Trend dan RamalanMasa Depan Python dan JavaScript: Trend dan RamalanApr 27, 2025 am 12:21 AM

Trend masa depan Python dan JavaScript termasuk: 1. Kedua -duanya akan terus mengembangkan senario aplikasi dalam bidang masing -masing dan membuat lebih banyak penemuan dalam prestasi.

Python vs JavaScript: Persekitaran dan Alat PembangunanPython vs JavaScript: Persekitaran dan Alat PembangunanApr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

Adakah JavaScript ditulis dalam C? Memeriksa buktiAdakah JavaScript ditulis dalam C? Memeriksa buktiApr 25, 2025 am 12:15 AM

Ya, teras enjin JavaScript ditulis dalam C. 1) Bahasa C menyediakan prestasi yang efisien dan kawalan asas, yang sesuai untuk pembangunan enjin JavaScript. 2) Mengambil enjin V8 sebagai contoh, terasnya ditulis dalam C, menggabungkan kecekapan dan ciri-ciri berorientasikan objek C. 3) Prinsip kerja enjin JavaScript termasuk parsing, penyusun dan pelaksanaan, dan bahasa C memainkan peranan penting dalam proses ini.

Peranan JavaScript: Membuat Web Interaktif dan DinamikPeranan JavaScript: Membuat Web Interaktif dan DinamikApr 24, 2025 am 12:12 AM

JavaScript adalah di tengah -tengah laman web moden kerana ia meningkatkan interaktiviti dan dinamik laman web. 1) Ia membolehkan untuk menukar kandungan tanpa menyegarkan halaman, 2) memanipulasi laman web melalui Domapi, 3) menyokong kesan interaktif kompleks seperti animasi dan drag-and-drop, 4) mengoptimumkan prestasi dan amalan terbaik untuk meningkatkan pengalaman pengguna.

C dan JavaScript: Sambungan dijelaskanC dan JavaScript: Sambungan dijelaskanApr 23, 2025 am 12:07 AM

C dan JavaScript mencapai interoperabilitas melalui webassembly. 1) Kod C disusun ke dalam modul WebAssembly dan diperkenalkan ke dalam persekitaran JavaScript untuk meningkatkan kuasa pengkomputeran. 2) Dalam pembangunan permainan, C mengendalikan enjin fizik dan rendering grafik, dan JavaScript bertanggungjawab untuk logik permainan dan antara muka pengguna.

Dari laman web ke aplikasi: Aplikasi pelbagai JavaScriptDari laman web ke aplikasi: Aplikasi pelbagai JavaScriptApr 22, 2025 am 12:02 AM

JavaScript digunakan secara meluas di laman web, aplikasi mudah alih, aplikasi desktop dan pengaturcaraan sisi pelayan. 1) Dalam pembangunan laman web, JavaScript mengendalikan DOM bersama -sama dengan HTML dan CSS untuk mencapai kesan dinamik dan menyokong rangka kerja seperti JQuery dan React. 2) Melalui reaktnatif dan ionik, JavaScript digunakan untuk membangunkan aplikasi mudah alih rentas platform. 3) Rangka kerja elektron membolehkan JavaScript membina aplikasi desktop. 4) Node.js membolehkan JavaScript berjalan di sisi pelayan dan menyokong permintaan serentak yang tinggi.

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

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.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.