Junior — Middle
Flutter'da StatefulWidget kavramını açıklayın ve StatelessWidget'tan farkı nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Flutter'da StatefulWidget, uygulama çalışırken durumunu değiştirebilen bir widget'tır. Durumu, ayrı bir State nesnesinde saklar ve bu durum değiştiğinde, arayüzü güncelleyen setState() yöntemi çağrılır.
Buna karşılık, StatelessWidget iç durumuna sahip değildir ve her zaman kendisine geçirilen parametrelere dayanarak oluşturulur. Oluşturulduktan sonra değişmez.
Örnek:
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('Sayaç: \\$_counter'),
ElevatedButton(onPressed: _increment, child: Text('Arttır')),
],
);
}
}
Burada, CounterWidget bir StatefulWidget çünkü sayaç değeri değişiyor ve UI'yi etkiliyor. Durum değişmiyorsa, StatelessWidget kullanılabilir.