يحتوي Flutter على نوعين أساسيين من الـ widgets: StatelessWidget (غير قابل للتغيير، بدون حالة داخلية تتغير) و StatefulWidget (يمكنه الاحتفاظ بحالة قابلة للتغيير وتحديثها، وإعادة البناء عند تغيير الحالة). اختيار النوع الصحيح هو أمر أساسي لبناء واجهات المستخدم في Flutter.
StatelessWidget — بدون حالة متغيرة
// 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)
