gpt4 book ai didi

firebase - 如何解决“getter 'documentID'被调用为null。”?

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

我在范围模型中具有此功能,在该模型中,我想在按下按钮时使Firebase增量到快照,但是它返回―在null上调用了getter'documentID'。〜,它更改了我图标的状态,但是数字不增加。如果我给出文档的名称,它可以正常工作,但是我不想指定它。对解决方案有什么想法?

void main() {
runApp(EaiCasimiro());
}



class EaiCasimiro extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ScopedModel<LikesModel>(
model: LikesModel(),
child: MaterialApp(
title: "E aí, Casimiro?",
home: HomeScreen(),
debugShowCheckedModeBanner: false,
)
);
}
}


class LikesModel extends Model {

DocumentSnapshot snapshot;




bool _liked = true;

static LikesModel of(BuildContext context) =>
ScopedModel.of<LikesModel>(context, rebuildOnChange: true);


bool isLiked() => _liked;




void pressed(){
_liked = !_liked;
notifyListeners();
}

void changeLikes() {
Firestore.instance
.collection("lanchonetes")
.document(snapshot.documentID)
.updateData({'likes': FieldValue.increment(_liked ? -1 : 1)});


}

}

最佳答案

由于您在这里有很多代码,但是没有注意到发生错误的特定行,因此我猜它会在这里发生:

Firestore.instance
.collection("lanchonetes")
.document(snapshot.documentID)
.updateData({'likes': FieldValue.increment(_liked ? -1 : 1)});

我花了一段时间才找到在哪里定义 snapshot,但我在这里找到了:
DocumentSnapshot snapshot;

由于声明时未分配值,因此其初始值为null。因此,当在查询中使用它时,如下所示: snapshot.documentID,您将收到该错误。

使用前,请确保已定义 snapshot

关于firebase - 如何解决“getter 'documentID'被调用为null。”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59637799/

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