Sobes.tech
Junior — Middle

Siz real vaqt rejimida interfeysni yangilash uchun StreamBuilder komponentidan foydalanish misolini keltira olasizmi?

sobes.tech AI

AIdan javob

Flutter'da StreamBuilder komponenti, oqimdan (Stream) yangi ma'lumotlar kelganda real vaqtda yangilanuvchi interfeys yaratish uchun ishlatiladi. Masalan, agar sizda har sekundda yangi qiymat chiqaradigan raqamlar oqimi bo'lsa, StreamBuilder bu raqam bilan avtomatik tarzda vidjetni yangilash imkonini beradi.

Misol:

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

Ushbu misolda, ekran matni har sekundda yangilanadi va hozirgi sanog‘ich qiymatini ko‘rsatadi.