Sobes.tech
Junior — Middle

Izskaidrojiet StatefulWidget jēdzienu Flutter un kā tas atšķiras no StatelessWidget?

sobes.tech AI

Atbilde no AI

Flutter'ā StatefulWidget ir widgets, kas var mainīt savu stāvokli darba laikā. Tas glabā savu stāvokli atsevišķā State objektā, un, kad šis stāvoklis mainās, tiek izsaukta metode setState(), kas atjaunina interfeisu.

Pretstatā tam, StatelessWidget nav iekšējā stāvokļa un vienmēr tiek būvēts, pamatojoties uz nodotajiem parametriem. Tas nemainās pēc izveides.

Piemērs:

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('Skaitītājs: \\$_counter'),
        ElevatedButton(onPressed: _increment, child: Text('Palielināt')),
      ],
    );
  }
}

Šeit, CounterWidget ir StatefulWidget, jo skaitītāja vērtība mainās un ietekmē UI. Ja stāvoklis nemainītos, varētu izmantot StatelessWidget.