Sobes.tech
Junior — Middle

Flutterдеги StatefulWidget концепциясын түшүндүрүп бериңиз жана ал 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('Өлчөмүн көбөйтүү')),
      ],
    );
  }
}

Бул жерде, CounterWidgetStatefulWidget, анткени эсептегичтин мааниси өзгөрүп, UIга таасир этет. Эгер абал өзгөрбөсө, StatelessWidget колдонсо болот.