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-ро истифода бурд.