ReactJS #24: Mengenal React Developer Tools – Inspeksi Aplikasi React di Browser


ReactJS #24: Mengenal React Developer Tools

Inspeksi Aplikasi React di Browser

Halo, detektif React! 🕵️

Bayangkan kamu punya kaca pembesar ajaib yang bisa melihat ke dalam aplikasi React-mu. Kamu bisa melihat komponen apa saja yang ada, apa props dan state-nya, bahkan mengubahnya secara langsung untuk eksperimen. Itulah React Developer Tools! [citation:1]

💡 Analogi: React Developer Tools itu seperti X-ray vision untuk aplikasi React-mu. Kamu bisa melihat kerangka (komponen), organ dalam (props dan state), dan bahkan merekam gerak-geriknya (profiler) untuk mencari yang lambat.

🔧 Apa Itu React Developer Tools?

React Developer Tools adalah ekstensi browser (Chrome, Firefox, Edge) yang menambahkan fitur khusus React ke dalam DevTools bawaan browser. Dengan alat ini, kita bisa: [citation:1][citation:5]

📋

Components

Lihat hierarki komponen, props, state, hooks, dan context. Bisa diedit langsung!

⏱️

Profiler

Rekam performa aplikasi, lihat komponen yang lambat, dan cari tahu penyebab re-render.

📥 Cara Memasang React Developer Tools

Pemasangannya mudah sekali! Ikuti langkah-langkah berikut: [citation:1][citation:4]

Untuk Google Chrome:

  1. Buka Chrome Web Store dan cari "React Developer Tools". Atau langsung ke tautan ini: React Developer Tools - Chrome Web Store [citation:4]
  2. Klik tombol "Add to Chrome" (Tambahkan ke Chrome).
  3. Setelah terinstal, ikon React akan muncul di pojok kanan browser (sebelah ikon puzzle). [citation:1]

Untuk Firefox:

  1. Buka Firefox Add-ons dan cari "React Developer Tools".
  2. Klik "Add to Firefox" dan ikuti petunjuknya. [citation:8]

Untuk Safari dan Browser Lain:

Jika pakai Safari atau browser yang tidak mendukung ekstensi, kita bisa pakai versi standalone (berdiri sendiri) dengan npm: [citation:7]

npm install -g react-devtools react-devtools

Lalu tambahkan script ini di <head> website-mu:

<script src="http://localhost:8097"></script>
💡 Cek instalasi: Setelah terinstal, buka aplikasi React-mu (misal hasil npm start). Ikon React di browser akan menyala (biasanya biru untuk mode development, merah untuk production). [citation:1]

🔍 Tab Components: Melihat dan Mengedit Komponen

Setelah membuka DevTools (F12 atau Klik Kanan → Inspect), kamu akan melihat dua tab baru: ⚛️ Components dan ⚛️ Profiler. [citation:1][citation:5]

📋 Simulasi Tab Components

<App>
<Header title="My App" />
<TodoList>
<TodoItem text="Belajar React" completed={false} />
<TodoItem text="Makan Siang" completed={true} />
</TodoList>
<Footer />
</App>
Props TodoItem: { "text": "Belajar React", "completed": false }

Kiri: hierarki komponen | Kanan: props dan state

Fitur-fitur Keren di Tab Components: [citation:5]

  • Lihat hierarki komponen: Semua komponen React terlihat seperti pohon keluarga.
  • Inspeksi props dan state: Klik komponen, lihat props dan state-nya di panel kanan.
  • Edit langsung! Kamu bisa mengubah nilai props atau state secara real-time. Misalnya ubah completed dari false ke true, dan lihat tampilan berubah! [citation:3]
  • Cari komponen: Gunakan kotak pencarian untuk mencari komponen berdasarkan nama.
  • Lihat hooks: Untuk komponen fungsi, kita bisa lihat nilai hooks (useState, useEffect, dll).
  • Lihat context: Jika menggunakan context, nilainya juga bisa dilihat.
  • Tombol mata: Klik ikon mata untuk menyorot komponen di halaman (seperti inspect element). [citation:3]

Cara Mengedit Props/State Langsung:

  1. Pilih komponen di pohon sebelah kiri.
  2. Di panel kanan, cari props atau state yang ingin diubah.
  3. Klik nilainya, ubah sesuai keinginan (misal angka, teks, atau boolean).
  4. Lihat perubahan langsung di aplikasi! [citation:5]

Ini sangat berguna untuk menguji berbagai kemungkinan tanpa harus mengubah kode.

⚡ Tab Profiler: Mencari Komponen yang Lambat

Pernah merasa aplikasi React-mu lemot? Tab Profiler membantu kita mencari penyebabnya. Ibaratnya, ini seperti rekaman video yang menunjukkan komponen mana yang paling banyak makan waktu render. [citation:2]

Cara Menggunakan Profiler: [citation:2][citation:10]

  1. Buka tab Profiler di DevTools.
  2. Klik tombol rekam (lingkaran merah) untuk mulai merekam. [citation:9]
  3. Berinteraksilah dengan aplikasi (klik tombol, ketik, dll).
  4. Klik stop (kotak merah).
  5. Lihat hasilnya! Kamu akan melihat flamegraph (grafik api) yang menunjukkan komponen mana yang dirender dan berapa lama waktunya. [citation:2]

📊 Flamegraph (Simulasi)

App (2ms)
TodoList (15ms) ⚠️
TodoItem (5ms) x 5
Footer (1ms)

TodoList memakan waktu 15ms! Mungkin perlu dioptimasi dengan React.memo atau useMemo. [citation:9]

Membaca Hasil Profiler: [citation:2]

  • Flamegraph: Lebar batang menunjukkan lama waktu render. Komponen dengan batang paling lebar adalah tersangka utama.
  • Ranked view: Menampilkan komponen yang diurutkan berdasarkan waktu render (dari terbesar ke terkecil).
  • Mengapa komponen render? Klik komponen untuk melihat penyebabnya: [citation:2]
    • Props changed – props berubah
    • State changed – state berubah
    • Parent rendered – induknya render
    • Hook changed – nilai hook berubah

Fitur Highlight Updates:

Di pengaturan React DevTools, kita bisa mengaktifkan Highlight Updates. Saat aktif, komponen yang dirender ulang akan diberi border berwarna (hijau, biru, merah tergantung frekuensi). Ini membantu melihat komponen mana yang terlalu sering render. [citation:10]

🧪 Latihan: Debug Aplikasi Todo List

Buka aplikasi Todo List yang kita buat di artikel #15 (atau aplikasi React lain). Coba lakukan: [citation:5]

  1. Buka React DevTools dan tab Components.
  2. Cari komponen TodoItem.
  3. Lihat props-nya (text, completed).
  4. Ubah nilai completed dari false ke true langsung di DevTools. Apakah coretan muncul?
  5. Buka tab Profiler, rekam saat kamu menambah beberapa tugas.
  6. Lihat komponen mana yang paling lama render. Apakah ada yang perlu dioptimasi?

🆘 Troubleshooting: Jika React DevTools Tidak Muncul

Kadang tab React tidak muncul. Coba periksa hal-hal ini: [citation:5][citation:8]

  • Pastikan aplikasi menggunakan React. Coba buka situs resmi React (react.dev) untuk memastikan ekstensi berfungsi.
  • Pastikan mode development. Jika aplikasi dalam mode production (build), beberapa fitur mungkin terbatas. Ikon React akan merah, bukan biru. [citation:1]
  • Cek izin ekstensi. Di Chrome, buka chrome://extensions/, cari React Developer Tools, pastikan diaktifkan dan punya akses ke situs. [citation:5]
  • Untuk file lokal (file://), perlu memberi izin khusus. Di Chrome, buka chrome://extensions/, klik "Details" pada React DevTools, dan aktifkan "Allow access to file URLs". [citation:8]
  • Refresh halaman. Kadang perlu reload setelah instalasi.

📱 React DevTools untuk React Native

React Developer Tools juga bisa digunakan untuk debugging aplikasi React Native. Untuk React Native versi terbaru (≥ 0.76), gunakan debugger bawaan. Untuk versi lama, pakai versi standalone seperti dijelaskan sebelumnya. [citation:7]

🚀 Kesimpulan

  • React Developer Tools adalah ekstensi wajib untuk developer React.
  • Tab Components untuk melihat dan mengedit hierarki, props, state, hooks, dan context.
  • Tab Profiler untuk merekam performa dan menemukan komponen yang lambat.
  • Kita bisa mengubah nilai langsung di DevTools untuk eksperimen cepat.
  • Dengan alat ini, debugging dan optimasi aplikasi React jadi jauh lebih mudah!

Di artikel selanjutnya kita akan belajar tentang Deploy Aplikasi ke Internet agar hasil karyamu bisa dilihat semua orang. Sampai jumpa!

Lebih baru Lebih lama

نموذج الاتصال