Junior — Middle
Explique le concept de StatefulWidget dans Flutter et en quoi il diffère de StatelessWidget?
sobes.tech IA
Réponse de l'IA
En Flutter, StatefulWidget est un widget qui peut modifier son état pendant l'exécution de l'application. Il stocke son état dans un objet séparé State, et lorsque cet état change, la méthode setState() est appelée, ce qui met à jour l'interface.
En revanche, StatelessWidget n'a pas d'état interne et est toujours construit en fonction des paramètres qui lui sont passés. Il ne change pas après sa création.
Exemple :
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('Compteur : \\$_counter'),
ElevatedButton(onPressed: _increment, child: Text('Augmenter')),
],
);
}
}
Ici, CounterWidget est un StatefulWidget car la valeur du compteur change et influence l'UI. Si l'état ne changeait pas, on pourrait utiliser un StatelessWidget.