Sobes.tech
Junior — Middle

Pouvez-vous donner un exemple d'utilisation du composant StreamBuilder pour mettre à jour l'interface en temps réel?

sobes.tech IA

Réponse de l'IA

Le composant StreamBuilder dans Flutter est utilisé pour construire une interface qui se met à jour en temps réel lorsque de nouvelles données arrivent depuis un flux (Stream). Par exemple, si vous avez un flux de nombres qui émet une nouvelle valeur chaque seconde, StreamBuilder permettra de mettre à jour automatiquement le widget avec ce nombre.

Exemple:

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('Compteur: \\${snapshot.data}');
        } else {
          return CircularProgressIndicator();
        }
      },
    );
  }
}

Dans cet exemple, le texte à l'écran sera mis à jour chaque seconde, affichant la valeur actuelle du compteur.