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