Junior — Middle
Можете ли да објасните концепт 'статус' у језику Dart и како се користи?
sobes.tech АИ
Одговор од АИ
U Dart-u, pojam "state" odnosi se na stanje widget-a ili aplikacije — to su podaci koji se mogu menjati tokom vremena i utiču na prikaz korisničkog interfejsa.
U Flutter-u, postoje dve glavne vrste widget-a: StatelessWidget (bez stanja) i StatefulWidget (sa stanjem). StatefulWidget čuva svoje stanje u objektu tipa State, koji može da se menja i izazove ponovno crtanje widget-a.
Na primer, brojač koji se povećava pritiskom na dugme čuva svoju trenutnu vrednost u stanju:
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')),
],
);
}
}
Dakle, "state" su podaci koji određuju kako widget izgleda i kako se ponaša, a kada se oni promene, UI se osvežava.