Navigation: Navigator.push & pop
Penjelasan
Flutter mengelola perpindahan halaman sebagai STACK (tumpukan) lewat Navigator — Navigator.push() menambah halaman baru ke atas stack ("maju"), Navigator.pop() menghapus halaman teratas dan kembali ke halaman sebelumnya ("mundur", termasuk tombol back bawaan otomatis mengenali ini).
Contoh Konsep
ElevatedButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const HalamanDetail()),
);
},
child: const Text('Lihat Detail'),
)
// Di HalamanDetail, tombol kembali:
// ElevatedButton(
// onPressed: () => Navigator.pop(context),
// child: const Text('Kembali'),
// )
Praktikum
Buat dua widget: HalamanUtama dengan tombol "Ke Kontak" yang Navigator.push() ke HalamanKontak, dan HalamanKontak dengan tombol "Kembali" yang Navigator.pop().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Navigator.push() SELALU butuh BuildContext sebagai argumen pertama — context ini biasanya sudah tersedia otomatis sebagai parameter method build(BuildContext context), jadi tinggal dipakai langsung tanpa perlu dicari-cari dari tempat lain.