Flutter Cloud Firestore Map <String、dynamic>エラー

ヨハン・フェザー

FlutterとFirestoreを使用してアプリを作成しようとしています。StreamBuilderを使用してFirestoreからコレクションをロードしてListViewに表示すると、次のエラーが発生します。

The following assertion was thrown building StreamBuilder<QuerySnapshot>(dirty, state:
I/flutter (26287): _StreamBuilderBaseState<QuerySnapshot, AsyncSnapshot<QuerySnapshot>>#d5638):

I/flutter (26287): type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'

I/flutter (26287): where

I/flutter (26287):   _InternalLinkedHashMap is from dart:collection

I/flutter (26287):   Map is from dart:core

I/flutter (26287):   String is from dart:core

これは私がからデータを取得したい方法です DocumentSnapshot

class Creator {
  const Creator({this.creatorId, this.name});

  Creator.fromDoc(DocumentSnapshot doc) : this.fromMap(doc.data);

  Creator.fromMap(Map<String, dynamic> map) :
    assert(map.containsKey('creatorId'),
    assert(map.containsKey('name'),
    this ( creatorId: map['creatorId'], name: map['name'] );

  /*

  ...

  */
}

そしてそれをどのように使いたいか

return Scaffold(
  appBar: AppBar(title: new Text('Creators')),
  body: StreamBuilder<QuerySnapshot>(
    stream: CreatorRepo.getCreators().map<List<Creator>>((creators) {
      return creators.documents.map<Creator>((c) => Creator.fromSnapshot(c)).toList();
    }),
    builder: (BuildContext context, snapshot) {
      if ( snapshot.hasData ) {
        return ListView.builder(
          itemCount: snapshot.data.length,
          builder: (context, index) {
            final creator = snapshot.data[index];

            return ExpansionTile(
              title: Text(creator.name),
              children: [
                Text(creator.creatorId),
              ],
            );
          },
        );
      }

      return const CircularProgressIndicator();
    },
  ),
);

依存関係:

dependencies:
  flutter:
    sdk: flutter

  cloud_firestore: ^0.6.3
  firebase_messaging: ^0.2.4

Firestore、コア言語タイプを除いて、Stringキーとdynamicのみを許可しますTimestampcloud_firestoreプラグインは、文書データを保持します_InternalLinkedHashMap<dynamic, dynamic>Map中身は全部DocumentSnapshotだろうと思いましたMap<String, dynamic>どうすればこれを回避できますか?すべての関数を変更してMap<dynamic, dynamic>、キーがaStringであると想定することは、問題に対するかなり醜い回避策です。

ケビン・ムーア

これは、Firebaseから返されるマップMap<String, dynamic>がではなく代わりにあるためだと思いますMap<dynamic, dynamic>

関連する問題については、https://github.com/flutter/flutter/issues/17417参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してくださいdebugcn@gmail.com

編集
0

コメントを追加

0

関連記事

分類Dev

Flutter-Firestore "引数タイプ 'Map <String、dynamic> Function()'をパラメータータイプ 'Map <String、dynamic>に割り当てることはできません"

分類Dev

Flutter&Cloud Firestore

分類Dev

Flutter - SQflite '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'

分類Dev

Firebase cloud firestore not working in flutter

分類Dev

Convert Firestore DocumentSnapshot to Map in Flutter

分類Dev

type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic in flutter app

分類Dev

Flutter Firebase firestore .data [""]エラー

分類Dev

Adding an Object to Cloud Firestore using Flutter

分類Dev

Deleting document from cloud_firestore in flutter

分類Dev

Map <String、dynamic>を介したFlutter forEach

分類Dev

Flutter firestore fetch documents with a condition on a map field

分類Dev

Dartエラーの場合:タイプ 'List <dynamic>'は、Flutter withFirestoreのタイプ 'Map <String、dynamic>'のサブタイプではありません

分類Dev

Dartエラーの場合:タイプ 'List <dynamic>'は、Flutter withFirestoreのタイプ 'Map <String、dynamic>'のサブタイプではありません

分類Dev

FlutterのFirestoreから単一のドキュメントをクエリする(cloud_firestoreプラグイン)

分類Dev

Flutter:[cloud_firestore / unknown] NoSuchMethodError:nullの無効なメンバー: 'includeMetadataChanges'(Flutter Web)

分類Dev

How to listen for document changes in Cloud Firestore using Flutter?

分類Dev

Flutter/cloud-firestore "Task is already complete" Exception

分類Dev

Flutter/cloud-firestore "Task is already complete" Exception

分類Dev

Flutter Cloud FireStore query using multiple conditional where clauses

分類Dev

Flutter Cloud FireStore query using multiple conditional where clauses

分類Dev

Flutter cloud_firestore persistence is not working even if it is enabled

分類Dev

Flutter:引数タイプ 'dynamic'をパラメータータイプ 'Map <String、dynamic>'に割り当てることはできません

分類Dev

How to add map inside document in firestore using flutter?

分類Dev

モジュール 'cloud_firestore'が見つかりません(Flutter)

分類Dev

Cloud Firestoreが一貫してデータを書き込んでいない(Flutter)

分類Dev

FlutterのList <Map <String、dynamic >>から値を取得する方法

分類Dev

Flutter FireStore

分類Dev

Flutter Cloud Firestoreプラグインの日付と比較してレコードをフェッチする方法は?

分類Dev

Cloud Firestore-動的クエリ

Related 関連記事

  1. 1

    Flutter-Firestore "引数タイプ 'Map <String、dynamic> Function()'をパラメータータイプ 'Map <String、dynamic>に割り当てることはできません"

  2. 2

    Flutter&Cloud Firestore

  3. 3

    Flutter - SQflite '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'

  4. 4

    Firebase cloud firestore not working in flutter

  5. 5

    Convert Firestore DocumentSnapshot to Map in Flutter

  6. 6

    type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic in flutter app

  7. 7

    Flutter Firebase firestore .data [""]エラー

  8. 8

    Adding an Object to Cloud Firestore using Flutter

  9. 9

    Deleting document from cloud_firestore in flutter

  10. 10

    Map <String、dynamic>を介したFlutter forEach

  11. 11

    Flutter firestore fetch documents with a condition on a map field

  12. 12

    Dartエラーの場合:タイプ 'List <dynamic>'は、Flutter withFirestoreのタイプ 'Map <String、dynamic>'のサブタイプではありません

  13. 13

    Dartエラーの場合:タイプ 'List <dynamic>'は、Flutter withFirestoreのタイプ 'Map <String、dynamic>'のサブタイプではありません

  14. 14

    FlutterのFirestoreから単一のドキュメントをクエリする(cloud_firestoreプラグイン)

  15. 15

    Flutter:[cloud_firestore / unknown] NoSuchMethodError:nullの無効なメンバー: 'includeMetadataChanges'(Flutter Web)

  16. 16

    How to listen for document changes in Cloud Firestore using Flutter?

  17. 17

    Flutter/cloud-firestore "Task is already complete" Exception

  18. 18

    Flutter/cloud-firestore "Task is already complete" Exception

  19. 19

    Flutter Cloud FireStore query using multiple conditional where clauses

  20. 20

    Flutter Cloud FireStore query using multiple conditional where clauses

  21. 21

    Flutter cloud_firestore persistence is not working even if it is enabled

  22. 22

    Flutter:引数タイプ 'dynamic'をパラメータータイプ 'Map <String、dynamic>'に割り当てることはできません

  23. 23

    How to add map inside document in firestore using flutter?

  24. 24

    モジュール 'cloud_firestore'が見つかりません(Flutter)

  25. 25

    Cloud Firestoreが一貫してデータを書き込んでいない(Flutter)

  26. 26

    FlutterのList <Map <String、dynamic >>から値を取得する方法

  27. 27

    Flutter FireStore

  28. 28

    Flutter Cloud Firestoreプラグインの日付と比較してレコードをフェッチする方法は?

  29. 29

    Cloud Firestore-動的クエリ

ホットタグ

アーカイブ