Flutter มี widget สองประเภทพื้นฐาน: StatelessWidget (ไม่เปลี่ยนแปลง ไม่มี state ภายในที่เปลี่ยนได้) และ StatefulWidget (สามารถเก็บและอัปเดต state ที่เปลี่ยนแปลงได้ และ rebuild เมื่อ state เปลี่ยน) การเลือกประเภทที่ถูกต้องเป็นพื้นฐานในการสร้าง UI ของ Flutter
StatelessWidget — ไม่มี state ที่เปลี่ยนแปลง
// a StatelessWidget: just describes UI based on its inputs (immutable, no internal state)
class Greeting extends StatelessWidget {
final String name;
const Greeting(this.name);
@override
Widget build(BuildContext context) {
return Text('Hello, $name'); // UI depends only on inputs, never changes itself
}
}
// → use for UI that doesn't change on its own (static content, displays based on inputs)
