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.