Sobes.tech
Junior — Middle

Ar galite paaiškinti 'būsenos' sąvoką Dart kalboje ir kaip ji naudojama?

sobes.tech AI

Atsakymas iš AI

Dart kalboje "state" sąvoka reiškia widget'o arba programos būseną — tai duomenys, kurie gali keistis laikui bėgant ir turėti įtakos vartotojo sąsajos rodymui.

Flutter'yje yra du pagrindiniai widget tipai: StatelessWidget (be būsenos) ir StatefulWidget (su būsenos). StatefulWidget saugo savo būseną State objekte, kuris gali keistis ir sukelti widget'o perpiešimą.

Pavyzdžiui, skaitiklis, kuris didėja paspaudus mygtuką, saugo savo dabartinę reikšmę būsenos:

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')),
      ],
    );
  }
}

Taigi, "state" yra duomenys, kurie nustato, kaip atrodo ir kaip elgiasi widget'as, ir kai jie keičiasi, UI atnaujinama.