0Pricing
React Academy · Pelajaran

Men-debug Error React Umum

Diagnosis peringatan key yang hilang, bug state yang tidak terdefinisi, dan error hidrasi.

Men-debug Error React Umum adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

Selamat Datang

Dalam pelajaran ini, Anda akan mendiagnosis kesalahan React yang paling umum: peringatan kunci yang hilang, bug status yang belum terdefinisi, terlalu banyak render ulang, dan ketidaksesuaian hidrasi.

Peringatan Kunci yang Hilang

React mencatat: *Setiap elemen turunan dalam daftar harus memiliki properti "key" yang unik.* Hal ini terjadi saat Anda merender array tanpa menambahkan properti `key`. Perbaiki dengan menambahkan kunci yang stabil dan unik pada setiap item daftar.
// Bad
items.map(item => <li>{item.name}</li>)

// Good
items.map(item => <li key={item.id}>{item.name}</li>)

Tidak Dapat Membaca Properti dari Nilai yang Belum Terdefinisi

Kerusakan ini sering berarti status Anda adalah `undefined` pada render pertama. Selalu inisialisasi status dengan nilai bawaan yang aman (`[]` untuk array, `{}` untuk objek, `null` untuk nilai yang Anda periksa sebelum digunakan).
// Bad — crashes if data is undefined
const [data, setData] = useState();
return <p>{data.name}</p>;

// Good
const [data, setData] = useState(null);
return data ? <p>{data.name}</p> : <p>Loading...</p>;

Kesalahan Terlalu Banyak Render Ulang

React menampilkan *Terlalu banyak render ulang* saat komponen memasuki loop render tanpa akhir — biasanya karena Anda memanggil `setState` tanpa syarat selama render atau meneruskan `() => setState(...)` sebaris secara langsung sebagai properti yang terpicu pada setiap render.
// Bad — setState called on every render
function Counter() {
  const [n, setN] = useState(0);
  setN(n + 1); // infinite loop!
  return <p>{n}</p>;
}

Memperbaiki Terlalu Banyak Render Ulang

Pindahkan pembaruan status ke dalam penangan kejadian atau useEffect. Jangan pernah memanggil setState secara langsung di tingkat teratas isi komponen.
// Good — update only on click
function Counter() {
  const [n, setN] = useState(0);
  return <button onClick={() => setN(n + 1)}>{n}</button>;
}

Peringatan Ketidaksesuaian Hidrasi

Dalam aplikasi SSR, React menampilkan peringatan *Hidrasi gagal karena UI awal tidak cocok dengan yang dirender di server.* Penyebab umumnya adalah penggunaan `Date.now()` atau `Math.random()` dalam render, atau ekstensi peramban yang menyisipkan HTML.

Memperbaiki Ketidaksesuaian Hidrasi

Pindahkan nilai dinamis (stempel waktu, ID acak) ke dalam `useState` yang diinisialisasi di dalam `useEffect`, sehingga server selalu merender nilai statis dan klien memperbaruinya setelah pemasangan.
const [ts, setTs] = useState('');
useEffect(() => {
  setTs(Date.now().toString());
}, []);
return <p>{ts}</p>;

Status Tidak Segera Diperbarui

Ingat bahwa `setState` berjalan secara asinkron. Mencatat status tepat setelah memanggilnya akan menampilkan nilai lama. Untuk melihat nilai yang telah diperbarui, lakukan pencatatan di dalam `useEffect` yang memiliki variabel status tersebut sebagai dependensi.
const [count, setCount] = useState(0);

function handleClick() {
  setCount(count + 1);
  console.log(count); // still old value!
}

useEffect(() => {
  console.log('updated:', count); // correct
}, [count]);

Komponen Tidak Diperbarui Saat Properti Berubah

Jika komponen tidak diperbarui saat properti berubah, periksa apakah Anda tidak mengubah objek atau array secara langsung. React menggunakan kesamaan referensi — mengubah objek yang sudah ada tidak memicu render ulang.
// Bad — same reference, no re-render
const list = [];
list.push('item');
setList(list);

// Good — new array reference
setList([...list, 'item']);

Membaca Kesalahan di Hamparan Kesalahan

Saat aplikasi React mengalami kerusakan dalam pengembangan, hamparan kesalahan muncul di peramban. Bacalah **tumpukan komponen** di bagian bawah — tumpukan ini menampilkan setiap komponen yang merender komponen yang gagal, sehingga sumber bug menjadi jelas.

Pemeriksaan Singkat

Apa penyebab paling umum dari kesalahan React "Terlalu banyak render ulang"?

Rangkuman

Kini Anda dapat memperbaiki kesalahan React yang paling umum: menambahkan kunci stabil ke daftar, menginisialisasi status dengan aman, menghindari setState dalam render, menangani ketidaksesuaian hidrasi, dan membaca tumpukan komponen pada hamparan kesalahan.

Kursus Selesai

Selamat! Anda telah menyelesaikan **React DevTools & Penelusuran Kesalahan**. Kini Anda dapat memasang DevTools, memeriksa pohon komponen dan status, membuat profil render, serta mendiagnosis kesalahan runtime React yang paling sering terjadi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Men-debug Error React Umum” gratis?

Ya — teks lengkap “Men-debug Error React Umum” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Men-debug Error React Umum”?

Diagnosis peringatan key yang hilang, bug state yang tidak terdefinisi, dan error hidrasi. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai React Academy?

Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Men-debug Error React Umum” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Memasang dan Membuka React DevTools
  2. Memeriksa Pohon Komponen dan Props
  3. Menggunakan Tab Profiler
  4. Men-debug Error React Umum
← Kembali ke React Academy