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.