FluentStack

Conditional Rendering

Mode tersedia: dark, light, paper
MasukDaftar
Intermediate · Level 7: React FundamentalsIntermediate45 menitBahasa Indonesia

Conditional Rendering

Menampilkan UI berbeda berdasarkan state seperti empty, success, atau error.

StatusMemuat progres
ProgresMemuat...

...

Memuat progres

Menyiapkan langkah berikutnya

Tujuan belajar

  • Menjelaskan conditional rendering sebagai UI yang mengikuti state
  • Memakai union status sederhana untuk state UI
  • Menampilkan empty, success, dan error view
ReactConditional RenderingUI State

Isi lesson

6 blok
  1. 1.
    UI sering berganti bentukBelum selesaiWajib
  2. 2.
    Status menentukan UIBelum selesaiWajib
  3. 3.
    Mulai dari state yang jelasBelum selesaiWajib
  4. 4.
    Coding practiceBelum selesaiWajib
  5. 5.
    Cek pemahamanBelum selesaiWajib
  6. 6.
    RingkasanBelum selesaiWajib

UI sering berganti bentuk

Wajib

React component tidak selalu menampilkan hal yang sama. Saat data kosong, UI bisa menampilkan empty state. Saat data tersedia, UI menampilkan konten. Saat ada masalah, UI menampilkan pesan error.

Conditional rendering berarti JSX yang ditampilkan dipilih berdasarkan state. Ini membuat component bisa menjawab: status sekarang apa, lalu UI apa yang harus terlihat?

Bagian ini memengaruhi progres lesson.

Status menentukan UI

Wajib
tsx
import { useState } from "react";

type Status = "empty" | "success" | "error";

function LessonStatusPanel() {
  const [status, setStatus] = useState<Status>("empty");

  return (
    <section>
      {status === "empty" ? <p>Belum ada lesson dipilih.</p> : null}
      {status === "success" ? <p>Lesson siap dipelajari.</p> : null}
      {status === "error" ? <p>Lesson gagal dimuat.</p> : null}
      <button type="button" onClick={() => setStatus("success")}>
        Tampilkan lesson
      </button>
    </section>
  );
}

Setiap branch membaca status yang sama. Saat status berubah, React menghitung ulang JSX yang harus ditampilkan.

Bagian ini memengaruhi progres lesson.

Tips

Wajib

Mulai dari state yang jelas

Sebelum menulis banyak ternary, tentukan dulu status yang mungkin terjadi. Untuk UI awal, string union seperti `empty`, `success`, dan `error` sering cukup jelas.

Bagian ini memengaruhi progres lesson.

Coding practice

WajibDibuka di workspace khusus

Render UI berdasarkan status

Latihan menampilkan empty, success, dan error UI dari satu state status.

Tujuan awal: Fokus di tab TSX.

Practice ini dibuka di workspace khusus. Buka practice untuk memakai editor, preview, dan cek otomatis.

Tombol selesai aktif setelah semua validasi wajib lolos.

7 cek otomatis3 checklist
Belum selesaiBuka practice

Cek pemahaman

WajibJawab dulu

Cek pemahaman singkat

Apa tujuan conditional rendering?

Progres lesson naik setelah jawaban benar.

Ringkasan

Wajib
  • Conditional rendering memilih UI berdasarkan state.
  • Status yang jelas membuat branch UI lebih mudah dibaca.
  • Ternary dan `&&` berguna, tetapi jangan sampai membuat JSX sulit diikuti.
  • Branch empty, success, dan error adalah pola umum UI.
  • Berikutnya, kamu akan merender banyak item dari array.

Bagian ini memengaruhi progres lesson.

Langkah berikutnya

Selesaikan bagian penting lesson ini

Lanjutkan blok wajib berikutnya: UI sering berganti bentuk.