Вопросы

Firebase DocumentSnapshot.data () возвращает объект? вместо Map ‹String, динамический›

В документации для DocumentSnapshot.data () говорится, что он возвращает Map<String, dynamic>
Тем не менее, IDE сообщает мне об ошибке и утверждает, что data () возвращает Object?

The argument type 'Object?' can't be assigned to the parameter type 'Map<String, dynamic>'.dart(argument_type_not_assignable)

Я пытаюсь сделать следующее

 factory NoteDto.fromJson(Map<String, dynamic> json) =>
      _$NoteDtoFromJson(json);

  factory NoteDto.fromFirestore(DocumentSnapshot doc) {
    return NoteDto.fromJson(doc.data()).copyWith(id: doc.id);
  }

Должен ли я как-то преобразовать Object? в Map<String, dynamic>?
Я изучил определение DocumentSnapshot.data() и увидел, что он использует шаблон T? data(), а сам класс — abstract class DocumentSnapshot<T extends Object?>. Теперь я понимаю, откуда взялось Object?.

Как убедиться, что я получу Map<String, dynamic> вместо Object? от DocumentSnapshot.data() ?

Если я изменю NoteDto.fromFirestore на

factory NoteDto.fromFirestore(DocumentSnapshot<Map<String, dynamic>> doc) {

Мне все еще нужно преобразовать Object? в Map ‹String, dynamic› в какой-то момент, но на этот раз это QueryDocumentSnapshot<Object?> doc в следующем вызове:

...
.map((doc) => NoteDto.fromFirestore(doc).toDomain())
...
Читать:
Установка разрешений в сценариях оболочки в файлах .tar.gz с помощью Azure DevOps

Похожие записи

Лучший способ объединить переменные в наборе данных панели в R?

admin

Изменение порядка столбцов в R

admin

Укажите connection_factory для create_engine () SQLAlchemy

admin

не может преобразовать вектор в DataFrame в Julia

admin

Вывод подсетей Azure со ссылками на присоединенную виртуальную сеть, таблицу маршрутизации и NSG.

admin

Действия Github: [удаленное отклонение] мастер — ›мастер (неглубокое обновление не разрешено), ошибка: не удалось отправить некоторые ссылки

admin