gpt4 book ai didi

flutter - 在StreamBuilder中使流仅运行一次

转载 作者:行者123 更新时间:2023-12-03 04:00:55 25 4
gpt4 key购买 nike

我有一个循环重功能X次。如果我将此流放在StreamBuilder中,则Stream会一次又一次地永远运行,但是我只需要它运行一次(执行X循环)并停止即可。

为了解决将来的功能问题,我使用了AsyncMemoizer,但不能将其用于流功能。

我该怎么做?

最佳答案

如果可以确定,则不应该重建您的小部件,而应尝试下面的代码。
_widget 将在initState中创建一次,然后将在build方法中返回“cached”小部件。

class MyStreamWidget extends StatefulWidget {
@override
_MyStreamWidgetState createState() => _MyStreamWidgetState();
}

class _MyStreamWidgetState extends State<MyStreamWidget> {
StreamBuilder _widget;
// TODO your stream
var myStream;

@override
void initState() {
super.initState();
_widget = StreamBuilder(
stream: myStream,
builder: (context, snapshot) {
// TODO create widget
return Container();
})
}

@override
Widget build(BuildContext context) {
return _widget;
}
}

关于flutter - 在StreamBuilder中使流仅运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56819364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com