Junior — Middle
Czy możesz wyjaśnić pojęcie 'stanu' w języku Dart i jak jest używane?
sobes.tech AI
Odpowiedź od AI
W Dart, pojęcie "state" odnosi się do stanu widgetu lub aplikacji — są to dane, które mogą się zmieniać w czasie i wpływać na wyświetlanie interfejsu użytkownika.
W Flutterze istnieją dwa główne typy widgetów: StatelessWidget (bez stanu) i StatefulWidget (ze stanem). StatefulWidget przechowuje swój stan w obiekcie typu State, który może się zmieniać i wywoływać ponowne rysowanie widgetu.
Na przykład, licznik, który zwiększa się po naciśnięciu przycisku, przechowuje swoją aktualną wartość w stanie:
class CounterWidget extends StatefulWidget {
@override
_CounterWidgetState createState() => _CounterWidgetState();
}
class _CounterWidgetState extends State<CounterWidget> {
int _count = 0;
void _increment() {
setState(() {
_count++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Count: \\$_count'),
ElevatedButton(onPressed: _increment, child: Text('Increment')),
],
);
}
}
Zatem, "state" to dane, które określają, jak wygląda i zachowuje się widget, a po ich zmianie UI jest aktualizowane.