我在Flutter中使用StreamProvider来监听我的Firebase集合。但是,由于我将流提供程序的值传递给其他子小部件(所有这些子部件都是无状态的),所以即使该流正确更新,该流也可以正常工作。
这是我的信息流提供商
StreamProvider<List>.value(
value: ChatService(shadeUID: widget.poll.shadeUID, pollUID: widget.poll.uid).threads,
child: ThreadsList(poll: widget.poll, shadowUID: widget.shadowUID),
// ignore: missing_return
catchError: (_, err) {
print(err.toString());
},
)
我正在使用
访问小部件ThreadsList()中的流提供程序final threadList = Provider.of<List>(context);
ThreadsList()是一个无状态窗口小部件。
线程列表被传递给另一个无状态小部件,该小部件需要在更改时进行更新。但是,即使提供程序final threadList = Provider.of<List>(context);
更新,子窗口小部件内的threadlist的值仍保持不变。