Junior — Middle
Môžete vysvetliť pojem 'stav' v jazyku Dart a ako sa používa?
sobes.tech AI
Odpoveď od AI
V Dart-e sa pojem "state" vzťahuje na stav widgetu alebo aplikácie — sú to údaje, ktoré sa môžu časom meniť a ovplyvňovať zobrazenie používateľského rozhrania.
V Flutteri existujú dva hlavné typy widgetov: StatelessWidget (bez stavu) a StatefulWidget (so stavom). StatefulWidget uchováva svoj stav v objekte typu State, ktorý sa môže meniť a spôsobí prekreslenie widgetu.
Napríklad, počítadlo, ktoré sa zvyšuje pri stlačení tlačidla, uchováva svoju aktuálnu hodnotu v stave:
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')),
],
);
}
}
Pretože "state" sú údaje, ktoré určujú, ako widget vyzerá a ako sa správa, a pri ich zmene sa aktualizuje UI.