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