gpt4 book ai didi

firebase - 多提供者无效成员为null:提供者构造上的 'collection'

转载 作者:行者123 更新时间:2023-12-03 04:17:31 24 4
gpt4 key购买 nike

收到的错误:

NoSuchMethodError: invalid member on null: 'collection'
我正在使用 Flutter Provider Package 4.3.2+2进行复杂的状态管理。
我从Firebase获取数据,这是数据结构:
data structure
这是提供程序类:
class ClientsProvider extends ChangeNotifier {

FirebaseFirestore _fs;
StreamSubscription<QuerySnapshot> _stream;
List<QueryDocumentSnapshot> clients = [];
ClientsProvider() {
_stream = _fs.collection("clients").snapshots().listen((event) {//THIS IS WHERE THE ERROR POINTS
clients = event.docs;
notifyListeners();
});
}

@override
void dispose() {
super.dispose();
_stream.cancel();
}
}
这是父窗口小部件:
class _ParentState extends State<Parent> {

@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
Provider<ClientsProvider>(
create: (context) => ClientsProvider()),
ChangeNotifierProvider<MyProvider>(
create: (context) => MyProvider()),
],
child: Dashboard(),//This widget contains the Child() widget two widgets down.
);
}
}
这是Firebase快照更新时需要更新的子窗口小部件:
class _ChildState extends State<Child> {

@override
Widget build(BuildContext context) {
return Column(
children: [
_buildAddNew(),
Consumer<ClientsProvider>(
builder: (context, clientProvider, child) {
return Container(child: Text(clientProvider.clients.toString()));
},
),
],
);
}
}
再次收到错误:
NoSuchMethodError: invalid member on null: 'collection'
数据不为空,为什么我会收到此错误?

最佳答案

_fs为空,因为您从未分配它。也许您打算这样做,如documentation所示:

FirebaseFirestore _fs = FirebaseFirestore.instance;

关于firebase - 多提供者无效成员为null:提供者构造上的 'collection',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64669240/

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