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.