参数类型“对象?” 无法分配给参数类型“Map<dynamic,dynamic>”

Emi*_*rde 4 dart firebase-realtime-database flutter

我在以下行“var map = Map <String,dynamic> .from (snap.snapshot.value);”中的“snap.snapshot.value”参数上出现错误。错误是“参数类型‘对象?’ 无法分配给参数类型“Map <动态,动态>”。”

class _HomePageState extends State<HomePage> {

  List<Posts> postsList = [];


  @override
  void initState() {

    super.initState();


    DatabaseReference postsRef = FirebaseDatabase.instance.reference().child("Posts");

    postsRef.once().then((snap) {

      var map = Map<String, dynamic>.from(snap.snapshot.value); <--- the error is here

      postsList.clear();

      map.forEach((key, value) {
        var values = Map<String,dynamic>.from(map);
        Posts posts = Posts
          (
            values['url'],
            values['descrizione'],
            values['data'],
            values['ora']
        );
        postsList.add(posts);
      });
Run Code Online (Sandbox Code Playgroud)

KuK*_*uKu 10

您会更改如下代码吗?

var map = Map<String, dynamic>.from(snap.snapshot.value);
Run Code Online (Sandbox Code Playgroud)

Map<String, dynamic> map = snap.snapshot.value as Map<String, dynamic>
Run Code Online (Sandbox Code Playgroud)