Google cloud firestore 关于flatter中流提供者的查询

Google cloud firestore 关于flatter中流提供者的查询,google-cloud-firestore,flutter-provider,Google Cloud Firestore,Flutter Provider,我目前正在尝试使用流提供者来注意云Firestore数据库中的变化,并获取关于变化的新数据 以下是我创建流提供程序的方式: child: StreamProvider.value(value: _firestoreAPI.getProjectsFromStream(_savedUser.user.name),child: PrimaryScene(toggleAnimation)), 由于我无法从initstate调用提供程序…因此我调用的是内部构建: _projectListSnapshot

我目前正在尝试使用流提供者来注意云Firestore数据库中的变化,并获取关于变化的新数据

以下是我创建流提供程序的方式:

child: StreamProvider.value(value: _firestoreAPI.getProjectsFromStream(_savedUser.user.name),child: PrimaryScene(toggleAnimation)),
由于我无法从initstate调用提供程序…因此我调用的是内部构建:

_projectListSnapshotFromStream = Provider.of<QuerySnapshot>(context);
\u projectListSnapshotFromStream=Provider.of(上下文);
我有一个疑问,如果我在构建函数中重新构建包含上述调用的小部件,它会不会因为我调用了提供者而在每次构建该小部件时向我收取读取费用?或者,它只会在数据库中发现更改时才对读取收费

流定义:

Stream<QuerySnapshot> getProjectsFromStream(String username){
    return databaseReference.collection("Projects").where("Members",arrayContains: username).snapshots();
  }

Stream getProjectsFromStream(字符串用户名){
返回databaseReference.collection(“项目”)。其中(“成员”,arrayContains:username)。快照();
}

提前感谢您的回答。

只有当您从firestore收到新文档时才会被视为已读。

这是因为提供程序的“延迟构建”属性默认设置为true吗?