Junior — Middle
¿Puedes dar un ejemplo de uso del componente StreamBuilder para actualizar la interfaz en tiempo real?
sobes.tech AI
Respuesta de la IA
El componente StreamBuilder en Flutter se utiliza para construir una interfaz que se actualiza en tiempo real cuando llegan nuevos datos desde un flujo (Stream). Por ejemplo, si tienes un flujo de números que emite un nuevo valor cada segundo, StreamBuilder permitirá actualizar automáticamente el widget con ese número.
Ejemplo:
Stream<int> counter() async* {
int i = 0;
while (true) {
await Future.delayed(Duration(seconds: 1));
yield i++;
}
}
class CounterWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<int>(
stream: counter(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Text('Contador: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
En este ejemplo, el texto en la pantalla se actualizará cada segundo, mostrando el valor actual del contador.