Junior — Middle
Spiega il concetto di StatefulWidget in Flutter e in cosa si differenzia da StatelessWidget?
sobes.tech AI
Risposta dell'AI
In Flutter, StatefulWidget è un widget che può modificare il proprio stato durante l'esecuzione dell'applicazione. Memorizza il suo stato in un oggetto separato State, e quando questo stato cambia, viene chiamato il metodo setState(), che aggiorna l'interfaccia.
Al contrario, StatelessWidget non ha stato interno e viene sempre costruito in base ai parametri passati. Non cambia dopo la creazione.
Esempio:
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('Contatore: \\$_counter'),
ElevatedButton(onPressed: _increment, child: Text('Aumenta')),
],
);
}
}
Qui, CounterWidget è un StatefulWidget perché il valore del contatore cambia e influisce sull'UI. Se lo stato non cambiasse, si potrebbe usare un StatelessWidget.