Junior — Middle
Маслиҳат медиҳед, ки мисоли истифодаи компонентаи StreamBuilder барои навсозии интерфейс дар вақти воқеӣ диҳед?
sobes.tech AI
Ҷавоб аз AI
Компоненти StreamBuilder дар Flutter барои сохтани интерфейсе истифода мешаванд, ки дар вақти воқеӣ навсозӣ мешавад, вақте ки маълумоти нав аз ҷараён (Stream) меояд. Масалан, агар шумо ҷараёни рақамҳо дошта бошед, ки ҳар сония арзиши нав мебарорад, StreamBuilder имкон медиҳад, ки виджети бо он рақам автоматӣ нав карда шавад.
Масал:
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('Ҳисобкунак: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
Дар ин мисол, матни экран ҳар сония нав мешавад ва арзиши ҳозираи ҳисобкунаро нишон медиҳад.