React Academy · Pelajaran

Fungsi StrictMode

Fahami seruan berganda dan amaran API yang tidak digunakan dalam pembangunan.

Pelajaran 1 daripada 413 langkah

Fungsi StrictMode ialah pelajaran React Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran React Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus React Academy merangkumi sejumlah 4 pelajaran.

Selamat Datang

Dalam pelajaran ini, anda akan mempelajari perkara yang dilakukan oleh React.StrictMode dalam pembangunan, amaran yang dipaparkannya dan cara ciri ini membantu anda menulis kod React yang lebih selamat.

Apakah StrictMode?

StrictMode ialah komponen React khas yang membalut sebahagian pepohon anda dan mendayakan pemeriksaan tambahan **hanya dalam pembangunan**. Ciri ini tidak memberi sebarang kesan pada binaan produksi.
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';

createRoot(document.getElementById('root')).render(
  <StrictMode>
    <App />
  </StrictMode>
);

Panggilan Dua Kali Kitar Hayat

Dalam StrictMode, React sengaja memanggil fungsi komponen dan beberapa kaedah kitar hayat anda **dua kali** dalam pembangunan. Tindakan ini direka untuk mendedahkan kesan sampingan yang tidak dibersihkan dengan betul.

Mengapa Dipanggil Dua Kali?

React 18 dan versi lebih baharu boleh memasang semula komponen pada masa hadapan (contohnya untuk penyegaran pantas dan API Offscreen). Panggilan dua kali dalam pembangunan mensimulasikan keadaan ini supaya anda dapat mengesan pepijat seperti langganan yang terkumpul atau mutasi DOM yang dijalankan dua kali.

Kesan Pemasangan–Nyahpemasangan–Pemasangan Semula

Dengan StrictMode dalam React 18, setiap useEffect berjalan, melakukan pembersihan dan berjalan lagi semasa pemasangan awal. Jika fungsi pembersihan anda betul, pelaksanaan dua kali ini tidak berbahaya. Jika aplikasi anda rosak, pembersihan itu tiada atau tidak betul.
useEffect(() => {
  const id = setInterval(() => setTick(t => t + 1), 1000);
  return () => clearInterval(id); // cleanup required!
}, []);

Mengesan API yang Tidak Digunakan Lagi

StrictMode memberi amaran apabila kod anda menggunakan API React yang tidak digunakan lagi seperti `componentWillMount`, `componentWillReceiveProps` dan rujukan rentetan. Amaran ini muncul dalam konsol pelayar sebagai amaran kuning.

Amaran API Konteks Legasi

Jika mana-mana pustaka pihak ketiga menggunakan API konteks legasi (`childContextTypes` / `getChildContext`), StrictMode akan memberi amaran. Ini menunjukkan bahawa pustaka tersebut perlu dikemas kini kepada API `React.createContext` moden.

Selamat Didayakan dalam Aplikasi Sedia Ada

Anda boleh membalut hanya sebahagian pepohon komponen dengan StrictMode untuk mendayakannya secara berperingkat dalam aplikasi sedia ada. Mulakan dengan bahagian baharu dan kembangkan penggunaannya sambil membaiki amaran.
function App() {
  return (
    <>
      <LegacyPart />  {/* not wrapped */}
      <StrictMode>
        <NewFeature />
      </StrictMode>
    </>
  );
}

Tiada Perbezaan Visual

StrictMode tidak merender sebarang antara muka yang kelihatan. Ia semata-mata alat pembangunan. Anda tidak akan melihat elemen tambahan dalam DOM — hanya amaran konsol tambahan dan tingkah laku panggilan dua kali.

Dayakan Sejak Hari Pertama

Amalan terbaik ialah mendayakan StrictMode sejak awal projek. Membetulkan isu panggilan dua kali lebih awal jauh lebih mudah daripada menemuinya kemudian apabila pangkalan kod sudah besar.

Semakan Pantas

Apakah tujuan panggilan dua kali fungsi komponen oleh React StrictMode?

Rumusan

StrictMode ialah alat pembangunan tanpa kos yang memanggil render dan kesan dua kali untuk mengesan kod tidak tulen, memberi amaran tentang API yang tidak digunakan lagi dan menyediakan aplikasi anda untuk ciri React akan datang.

Seterusnya

Pelajaran seterusnya: **Komponen Tulin dan Mengelakkan Kesan Sampingan dalam Render** — anda akan belajar menulis fungsi render yang bebas daripada mutasi dan bacaan luaran.
Percuma untuk bermula

Pelajari React dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
88
Pelajaran
324

Soalan Lazim

Adakah pelajaran “Fungsi StrictMode” percuma?

Ya — teks penuh “Fungsi StrictMode” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus React Academy, tingkat taraf kepada CoddyKit PRO. Kursus React Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Fungsi StrictMode”?

Fahami seruan berganda dan amaran API yang tidak digunakan dalam pembangunan. Anda berlatih React Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan React Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran React Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Fungsi StrictMode” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Fungsi StrictMode
  2. Komponen Tulen dan Mengelakkan Kesan Sampingan dalam Paparan
  3. Amalan Terbaik Kunci dan Ref
  4. Struktur Folder dan Konvensyen Penamaan
← Kembali ke React Academy