Flutter mempunyai beberapa pendekatan pengurusan state — daripada terbina dalam (setState, InheritedWidget) kepada pustaka popular (Provider, Riverpod, Bloc, GetX). Memahami pilihan utama, falsafahnya, dan tukar gantinya membantu memilih pendekatan yang betul untuk sesebuah aplikasi.
Pendekatan terbina dalam
setState → local state in a StatefulWidget (simple; doesn't scale to shared state)
InheritedWidget → built-in way to share state down the tree (the foundation many
libraries build on; verbose to use directly)
Provider — mudah dan disyorkan
PROVIDER → official-recommended, built on InheritedWidget; simple, widely used:
→ provide state at a point in the tree; descendants "watch"/consume it
→ ChangeNotifier holds state and notifies listeners → UI rebuilds on change
→ good for many apps; gentle learning curve
