Sobes.tech
Junior — Middle

Explică conceptul de StatefulWidget în Flutter și în ce constă diferența față de StatelessWidget?

sobes.tech AI

Răspuns de la AI

În Flutter, StatefulWidget este un widget care poate modifica starea sa în timpul rulării aplicației. El stochează starea într-un obiect separat State, iar atunci când această stare se schimbă, se apelează metoda setState(), care actualizează interfața.

În contrast, StatelessWidget nu are stare internă și este construit întotdeauna pe baza parametrilor transmişi. Nu se schimbă după crearea sa.

Exemplu:

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('Contor: \\$_counter'),
        ElevatedButton(onPressed: _increment, child: Text('Crește')),
      ],
    );
  }
}

Aici, CounterWidget este un StatefulWidget deoarece valoarea contorului se schimbă și afectează UI-ul. Dacă starea nu s-ar schimba, s-ar putea folosi un StatelessWidget.