我有一个用户关注/取消关注页面,可以在Firebase中搜索关注者列表,如果找到了他们的usedID则返回一个布尔值...
Future<Null> _friends() async {
fb.child("users/${userid}/Following/${id}").onValue.listen((Event event) {
setState((){
if (event.snapshot.value != null) {
friends == true;
} else if (event.snapshot.value == null) {
friends == false;
}
});
});
}
然后将bool设置在一个单独的函数中,该函数会更改公共bool ...
bool friends;
问题是我的Widget / Scaffold在这里没有更新......
friends == true ? new RaisedButton(onPressed: unfollow()) :
new RaisedButton(onPressed: follow());
有什么想法吗?我稍后会使用确切的代码进行更新。
答案 0 :(得分:0)
问题是您使用了==
(相等)比较运算符而不是=
(赋值)。将您的代码更改为以下内容:
Future<Null> _friends() async {
fb.child("users/${userid}/Following/${id}").onValue.listen((Event event) {
setState((){
// this will return true or false which is what you want based on your code :)
friends = event.snapshot.value == null;
});
});
}