Sobes.tech
Junior — Middle

Flutter'da StatefulWidget tushunchasini tushuntiring va u StatelessWidget dan qanday farq qiladi?

sobes.tech AI

AIdan javob

Flutter'da StatefulWidget — bu, dastur davomida o'z holatini o'zgartira oladigan vidjet. U holatini alohida State obyekti ichida saqlaydi va bu holat o'zgarganda, setState() metodi chaqiriladi, bu esa interfeysni yangilaydi.

Boshqacha qilib aytganda, StatelessWidget ichki holatga ega emas va har doim unga uzatilgan parametrlar asosida quriladi. U yaratildiqdan keyin o'zgarmaydi.

Misol:

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('Hisoblagich: \\$_counter'),
        ElevatedButton(onPressed: _increment, child: Text('Oshirish')),
      ],
    );
  }
}

Bu yerda, CounterWidgetStatefulWidget, chunki hisoblagich qiymati o'zgaradi va UI ga ta'sir qiladi. Agar holat o'zgarmasa, StatelessWidget ishlatish mumkin.