Sobes.tech
Junior — Middle

Explica el concepto de StatefulWidget en Flutter y en qué se diferencia de StatelessWidget?

sobes.tech AI

Respuesta de la IA

En Flutter, StatefulWidget es un widget que puede cambiar su estado durante la ejecución de la aplicación. Guarda su estado en un objeto separado State, y cuando este estado cambia, se llama al método setState(), que actualiza la interfaz.

En contraste, StatelessWidget no tiene estado interno y siempre se construye en función de los parámetros que se le pasan. No cambia después de su creación.

Ejemplo:

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

Aquí, CounterWidget es un StatefulWidget porque el valor del contador cambia y afecta la UI. Si el estado no cambiara, se podría usar un StatelessWidget.