Sobes.tech
Junior — Middle

Kun je een voorbeeld geven van het gebruik van de StreamBuilder-component om de interface in realtime bij te werken?

sobes.tech AI

Antwoord van AI

De StreamBuilder-component in Flutter wordt gebruikt om een interface te bouwen die in realtime wordt bijgewerkt wanneer nieuwe gegevens binnenkomen uit een stream (Stream). Bijvoorbeeld, als je een stroom van getallen hebt die elke seconde een nieuwe waarde uitzendt, stelt StreamBuilder je in staat om de widget automatisch bij te werken met dat getal.

Voorbeeld:

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

In dit voorbeeld wordt de tekst op het scherm elke seconde bijgewerkt en toont de huidige waarde van de teller.