Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ 'სახელმწიფო' ცნება Dart ენისა და როგორ გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

Dart-ში "state" გულისხმობს ვიჯეტის ან აპლიკაციის მდგომარეობას — ეს მონაცემები, რომლებიც დროის განმავლობაში შეიძლება შეიცვალოს და გავლენას ახდენს UI-ის გამოსახულებაზე.

Flutter-ში არსებობს ორი ძირითადი ტიპის ვიჯეტი: StatelessWidget (მონათესავე) და StatefulWidget (მონათესავე და მდგომარეობით). StatefulWidget ინახავს თავის მდგომარეობას State ობიექტში, რომელიც შეიძლება შეიცვალოს და გამოიწვიოს ვიჯეტის გადახატვა.

მაგალითად, გამრიცხველ, რომელიც იზრდება ღილაკის დაჭერისას, ინახავს თავის მიმდინარე მნიშვნელობას მდგომარეობაში:

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

ამიტომ, "state" არის მონაცემები, რომლებიც განსაზღვრავს, როგორ გამოიყურება და როგორ იქცევა ვიჯეტი, და როდესაც ისინი იცვლება, UI განახლდება.