Sobes.tech
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.