0Pricing
React Academy · Pelajaran

Pola Komunikasi Antarsaudara

Koordinasikan dua komponen saudara melalui state parent bersama dan props callback.

Pola Komunikasi Antarsaudara adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 menerapkan komunikasi antarkomponen saudara di React dengan mengoordinasikan dua komponen melalui status bersama pada komponen induk dan properti fungsi panggilan balik.

Komponen Saudara Tidak Dapat Berkomunikasi Langsung

Di React, data mengalir ke bawah melalui properti. Dua komponen saudara tidak memiliki koneksi langsung. Semua komunikasi antarkomponen saudara berlangsung melalui komponen induknya.

Pola: Status Bersama pada Komponen Induk

Komponen induk menyimpan nilai bersama dalam status dan meneruskannya ke kedua komponen saudara: satu menerimanya sebagai data (pembaca), sedangkan yang lain menerima fungsi panggilan balik untuk mengubahnya (penulis).
function Parent() {
  const [selected, setSelected] = useState(null);
  return (
    <>
      <Picker onSelect={setSelected} />
      <Detail item={selected} />
    </>
  );
}

Komponen Saudara Pembaca dan Penulis

Komponen saudara penulis (Picker) memanggil fungsi panggilan balik komponen induk ketika pengguna membuat pilihan. Komponen saudara pembaca (Detail) menerima nilai yang dihasilkan sebagai properti. Tidak satu pun dari kedua komponen saudara tersebut mengetahui komponen lainnya.
function Picker({ onSelect }) {
  return <button onClick={() => onSelect('item-1')}>Pick item 1</button>;
}

function Detail({ item }) {
  return <p>Selected: {item}</p>;
}

Komunikasi Dua Arah

Kedua komponen saudara dapat menjadi pembaca dan penulis secara bersamaan. Masing-masing menerima nilai saat ini AND fungsi panggilan balik onChange. Perubahan dari salah satu komponen saudara memperbarui status bersama pada komponen induk, yang kemudian mengalir kembali ke keduanya.

Contoh Kolom Formulir yang Disinkronkan

Sebuah penggeser dan masukan angka sama-sama mengendalikan nilai yang sama. Keduanya menerima nilai dan onChange dari komponen induk. Mengubah salah satu komponen akan memperbarui komponen lainnya secara otomatis.
function VolumeControl() {
  const [vol, setVol] = useState(50);
  return (
    <>
      <input type="range" value={vol} onChange={e => setVol(+e.target.value)} />
      <input type="number" value={vol} onChange={e => setVol(+e.target.value)} />
    </>
  );
}

Menghindari Pola Antiperistiwa Bus

Hindari penggunaan pemancar peristiwa global (EventEmitter/PubSub) untuk komunikasi antarkomponen saudara di React. Cara ini melewati alur data React, sehingga status menjadi tidak terlihat dan penelusuran kesalahan menjadi sulit.

Saat Komponen Saudara Berjauhan

Jika komponen saudara bersarang jauh di bawah cabang pohon yang berbeda, menaikkan status hingga ke leluhur bersama akan menyebabkan penerusan properti yang berlebihan. Dalam situasi tersebut, Konteks atau pustaka pengelolaan status merupakan pilihan yang tepat.

Menjaga Komponen Saudara Tetap Terpisah

Tidak satu pun dari kedua komponen saudara boleh mengimpor atau merujuk ke komponen lainnya. Komponen induk bertindak sebagai koordinator. Pemisahan ini memudahkan penggantian salah satu komponen saudara tanpa memengaruhi komponen lainnya.

Menguji Komunikasi Antarkomponen Saudara

Uji komponen induk: simulasikan tindakan pada komponen saudara penulis (melalui antarmuka komponen induk), lalu pastikan komponen saudara pembaca menampilkan nilai yang benar. Komponen induk merupakan unit koordinasi yang dapat diuji.

Pemeriksaan Singkat

Bagaimana dua komponen saudara React berkomunikasi satu sama lain?

Rangkuman

Koordinasikan komponen saudara melalui komponen induknya: komponen induk menyimpan status bersama, meneruskan data kepada pembaca, dan meneruskan fungsi panggilan balik kepada penulis. Tidak satu pun dari kedua komponen saudara perlu mengetahui komponen lainnya.

Berikutnya

Pelajaran berikutnya: **Memilih Lokasi Status yang Tepat** — Anda akan menerapkan kerangka pengambilan keputusan untuk status lokal, yang diangkat, atau global.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pola Komunikasi Antarsaudara” gratis?

Ya — teks lengkap “Pola Komunikasi Antarsaudara” 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 “Pola Komunikasi Antarsaudara”?

Koordinasikan dua komponen saudara melalui state parent bersama dan props callback. 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 3 dari 4.

Berapa lama pelajaran “Pola Komunikasi Antarsaudara” 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. Mengangkat State: Prinsip dan Contoh
  2. Prop Drilling: Kapan Menyulitkan dan Kapan Tidak
  3. Pola Komunikasi Antarsaudara
  4. Memilih Lokasi State yang Tepat
← Kembali ke React Academy