小编Hab*_*eeb的帖子

Flutter-FutureBuilder-未获取 AsyncSnapshot 数据

我正在尝试使用Future内部数据从 firestore 数据库获取单个字符串数据FutureBuilder。但从null快照数据中获得价值。下面提供了完整的代码。告诉我我哪里出错了。

我可以在函数中打印数据fetchPost()。从 firestore 获取数据后,它会进入FutureBuilder

但快照数据为空AsyncSnapshot<String>(ConnectionState.done, null, null)

import 'dart:async';
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

Future <String>fetchPost() async  {
  final DocumentReference documentReference = Firestore.instance.document("myData/dummy");
   documentReference.get().then((datasnapshot){
    if(datasnapshot.exists){
        print("get data" +datasnapshot.data['url']); ///this printing data //in console
        return datasnapshot.data['url'];


    }
  }).catchError((e){
    print("Error");
    print(e);
  });

}


void main() => runApp(MyApp(post: fetchPost()));

class MyApp extends StatelessWidget {
  final Future<String> post;

  MyApp({Key key, this.post}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return …
Run Code Online (Sandbox Code Playgroud)

firebase flutter

5
推荐指数
1
解决办法
8223
查看次数

标签 统计

firebase ×1

flutter ×1