gpt4 book ai didi

flutter : Conditions must have a static type of 'bool'

转载 作者:行者123 更新时间:2023-12-03 08:20:06 25 4
gpt4 key购买 nike

我正在尝试用 flutter 学习 firebase,但遇到了这个问题这是我的代码:

 FirebaseFirestore.instance
.collection('attendees')
.doc(user.uid)
.snapshots()
.listen((snapshot) {
if (snapshot.data() != null) {
if (snapshot.data()!['attending']) {
_attending = Attending.yes;
} else {
_attending = Attending.no;
}
} else {
_attending = Attending.unknown;
}
notifyListeners();
});

解决办法是什么?确切的问题在这一行:if (snapshot.data()!['参加']) {

我怎样才能重写它,这样我就不会破坏当前的功能?感谢您提前提供的帮助

最佳答案

您收到错误的原因 -

Conditions must have a static type of 'bool'

因为 snapshot.data()!['attending'] 行缺少 =

为了让你的代码正常工作

if (snapshot.data() != snapshot.data()!['attending']) {
_attending = Attending.yes;
} else {
_attending = Attending.no;
}

理解错误

我还想指出 Dart 是一种更严格的语言(在“真实”值(value)观方面更像 Java)。

在 JavaScript 中,您可以在条件语句中使用任何“truthy”值。在 Dart 中,您不能使用“真实”值。例如:

var name = 'Joe';
if (name) {
// do something...

或者

var a = 1
if(a){
//this would work in JavaScript
}

你不能在 JavaDart 中做这样的事情。原因是 Dart 要求条件是 bool true,而不仅仅是'truthy' 值。您可以通过将其更改为来更正代码:

if (name.isNotEmpty)

或者

if(a==1)
{
//these == signs are really important
}

关于 flutter : Conditions must have a static type of 'bool' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68095186/

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