Junior — Middle
Erklären Sie das Konzept von StatefulWidget in Flutter und worin es sich von StatelessWidget unterscheidet?
sobes.tech KI
Antwort von AI
In Flutter ist StatefulWidget ein Widget, das seinen Zustand während der Laufzeit der Anwendung ändern kann. Es speichert seinen Zustand in einem separaten Objekt State, und wenn sich dieser Zustand ändert, wird die Methode setState() aufgerufen, die die Benutzeroberfläche aktualisiert.
Im Gegensatz dazu hat StatelessWidget keinen internen Zustand und wird immer basierend auf den übergebenen Parametern gebaut. Es ändert sich nach der Erstellung nicht.
Beispiel:
class CounterWidget extends StatefulWidget {
@override
_CounterWidgetState createState() => _CounterWidgetState();
}
class _CounterWidgetState extends State<CounterWidget> {
int _counter = 0;
void _increment() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Zähler: \\$_counter'),
ElevatedButton(onPressed: _increment, child: Text('Erhöhen')),
],
);
}
}
Hier ist CounterWidget ein StatefulWidget, weil sich der Zählerstand ändert und die UI beeinflusst. Wenn sich der Zustand nicht ändern würde, könnte man ein StatelessWidget verwenden.