Study
Jetpack Compose

Navigation Compose

Penjelasan

Navigation Compose adalah library resmi Google untuk navigasi antar layar — NavController mengelola "stack" layar (mirip Navigator Flutter), NavHost mendefinisikan SEMUA route yang mungkin dan Composable-nya masing-masing, dirujuk lewat string route unik.

Contoh Konsep

// build.gradle: implementation("androidx.navigation:navigation-compose:...")
@Composable
fun App() {
    val navController = rememberNavController()

    NavHost(navController = navController, startDestination = "beranda") {
        composable("beranda") {
            Button(onClick = { navController.navigate("tentang") }) {
                Text("Ke Halaman Tentang")
            }
        }
        composable("tentang") {
            Text("Halaman Tentang")
        }
    }
}

Praktikum

Buat NavHost dengan startDestination "kontak", berisi dua composable route: "kontak" (Text "Halaman Kontak" + tombol ke "layanan") dan "layanan" (Text "Halaman Layanan").

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

rememberNavController() WAJIB dibuat di level Composable PALING LUAR yang membungkus NavHost (biasanya App() atau MainActivity) — kalau dibuat di dalam Composable yang lebih dalam/sering di-recompose, NavController bisa "reset" tidak sengaja dan kehilangan riwayat navigasinya.