Hari 22: State Management — Provider
60 min
Last updated 09 Apr 2026
Mengapa State Management?
setState() bekerja baik untuk state lokal, tapi untuk state yang perlu dibagi antar banyak widget, kita perlu solusi seperti Provider.
// pubspec.yaml: provider: ^6.1.1
import "package:flutter/material.dart";
import "package:provider/provider.dart";
class CartProvider extends ChangeNotifier {
List
💡
Notice: notifyListeners() memberitahu semua subscriber (widget) untuk rebuild dengan data terbaru.
Assignment
Buat ThemeProvider dengan toggle dark/light mode dan simulasikan widget yang reactive.
Expected output:
Initial:
[AppBar] Theme: Light
[Body] Background: putih
Toggle dark mode:
[AppBar] Theme: Dark
[Body] Background: hitam
Toggle lagi:
[AppBar] Theme: Light
[Body] Background: putih
Dart
main.dart
Solution
Output