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('Ավելացնել')),
],
);
}
}
Այստեղ, CounterWidget-ը StatefulWidget է, քանի որ հաշվիչի արժեքը փոխվում է և ազդում է UI-ի վրա: Եթե վիճակը չփոխվի, կարելի է օգտագործել StatelessWidget։