Sobes.tech
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.