【发布时间】:2021-04-26 09:25:45
【问题描述】:
我有两个函数试图从中获取值,并将其存储到 main_page 中的变量中,以便我可以在构建小部件中使用。我正在使用 firebase 实时数据库。
我拥有的功能是:
Future<List> receive_button(String button) async{
List<String> lst = new List<String>(2);
final FirebaseUser user = await _auth.currentUser();
var snapshot = await databaseReference.child(user.uid+"/buttons/"+button+"/icon").once();
String result = snapshot.value;
var snapshot1 = await databaseReference.child(user.uid+"/buttons/"+button+"/nome").once();
String result1 = snapshot1.value;
lst[0] = result;
lst[1] = result1;
print(lst);
return lst;
}
Future<int> receive_quantity() async{
final FirebaseUser user = await _auth.currentUser();
var snapshot = await databaseReference.child(user.uid+"/buttons/quantity").once();
var result = snapshot.value;
print(result);
return result;
}
这就是我尝试将数据存储在 home_page 的变量中的方式:
class _HomeState extends State<Home> {
int quantity = 0;
List<String> lst = new List<String>(2);
final AuthService _auth = AuthService();
@override
void initState() {
super.initState();
_auth.receive_quantity().then((value) => quantity = value);
_auth.receive_button("button1").then((value) => lst = value);
}
但每当我尝试在 Widget 构建中打印值时,我都会得到以下信息:
flutter: 0
flutter: [null, null]
在我的数据库中这个flutter: 0,实际值为2。
而这个flutter: [null, null]has ["add", "Chocolate"]
我已经测试了函数本身,它为我提供了正确的数据,但我在仅存储它们时遇到了问题。
【问题讨论】:
标签: flutter dart firebase-realtime-database flutter-layout flutter-dependencies