这个StackOverflow答案(How to deal with unwanted widget build?)表示,小部件的构建功能不应有任何副作用,并且在使用StreamBuilder时,不应内联创建流,而应在StatefulWidget中的initState中进行初始化。

但是,官方的cloud_firestore文档显示此示例:

本示例在构建函数中创建流。

这是真的不好的做法吗,Firestore团队在这里只是错了,还是Firestore在我不知道的事情下做些什么使这还好呢?

最佳答案

这种做法是完全正常的。您链接到的帖子不会说不创建内联Stream。这仅适用于Future,Flutter Docs在FutureBuidler类中明确了这一点。

10-06 08:01