Junior — Middle
Můžete vysvětlit pojem 'stav' v jazyce Dart a jak se používá?
sobes.tech AI
Odpověď od AI
V Dartu se pojem "state" vztahuje na stav widgetu nebo aplikace — jsou to data, která se mohou časem měnit a ovlivňovat zobrazení uživatelského rozhraní.
V Flutteru existují dva hlavní typy widgetů: StatelessWidget (bez stavu) a StatefulWidget (se stavem). StatefulWidget ukládá svůj stav do objektu typu State, který se může měnit a vyvolat překreslení widgetu.
Například počítadlo, které se zvyšuje při stisknutí tlačítka, uchovává svou aktuální hodnotu ve stavu:
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')),
],
);
}
}
Protože "state" jsou data, která určují, jak widget vypadá a chová se, a při jejich změně se aktualizuje UI.