Conditional Rendering
Menampilkan UI berbeda berdasarkan state seperti empty, success, atau error.
Tujuan belajar
- Menjelaskan conditional rendering sebagai UI yang mengikuti state
- Memakai union status sederhana untuk state UI
- Menampilkan empty, success, dan error view
Isi lesson
6 blok- 1.UI sering berganti bentukBelum selesaiWajib
- 2.Status menentukan UIBelum selesaiWajib
- 3.Mulai dari state yang jelasBelum selesaiWajib
- 4.Coding practiceBelum selesaiWajib
- 5.Cek pemahamanBelum selesaiWajib
- 6.RingkasanBelum selesaiWajib
UI sering berganti bentuk
WajibReact 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
Wajibimport { 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
WajibMulai 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 khususRender 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.
Cek pemahaman
WajibJawab duluCek 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.