Flutter ina aina mbili za msingi za widget: StatelessWidget (isiyobadilika, bila state ya ndani inayobadilika) na StatefulWidget (inaweza kushikilia na kusasisha state inayobadilika, ikijengwa upya state inapobadilika). Kuchagua ile sahihi ni jambo la msingi kwa kujenga UI za Flutter.
StatelessWidget — bila state inayobadilika
// 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)
