Sobes.tech
Junior — Middle

გთხოვთ, ახსნათ StatefulWidget-ის კონცეფცია Flutter-ში და რა განსხვავებაა მას StatelessWidget-თან?

sobes.tech AI

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

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

სხვადასხვა, StatelessWidget არ აქვს შიდა მდგომარეობა და ყოველთვის აშენებულია გადაცემული პარამეტრების საფუძველზე. ის არ იცვლება შექმნის შემდეგ.

მაგალითი:

class CounterWidget extends StatefulWidget {
  @override
  _CounterWidgetState createState() => _CounterWidgetState();
}

class _CounterWidgetState extends State<CounterWidget> {
  int _counter = 0;

  void _increment() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Text('საკრედიტო: \\$_counter'),
        ElevatedButton(onPressed: _increment, child: Text('მატება')),
      ],
    );
  }
}

აქ, CounterWidget არის StatefulWidget, რადგან გამოთვლითი მნიშვნელობა იცვლება და გავლენას ახდენს UI-ზე. თუ მდგომარეობა არ იცვლება, შეიძლება გამოიყენოს StatelessWidget.