Junior — Middle
გთხოვთ, ახსნათ StatefulWidget-ის კონცეფცია Flutter-ში და რა განსხვავებაა მას 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.