Flutter มี แนวทาง state management หลายแบบ — ตั้งแต่แบบในตัว (setState, InheritedWidget) ไปจนถึงไลบรารียอดนิยม (Provider, Riverpod, Bloc, GetX) การเข้าใจตัวเลือกหลัก ปรัชญาของแต่ละแบบ และข้อแลกเปลี่ยน ช่วยในการเลือกแนวทางที่เหมาะสมสำหรับแอป
แนวทางในตัว
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 — เรียบง่ายและแนะนำ
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
