Flutter firebase, List<dynamic> 不是 List<String> 类型

Posted

技术标签:

【中文标题】Flutter firebase, List<dynamic> 不是 List<String> 类型【英文标题】:Flutter firebase, List<dynamic> is not of type List<String> 【发布时间】:2020-10-03 00:44:18 【问题描述】:

在分配来自 firestore 的数据时

List&lt;String&gt; idList = snap.data['idList']

我得到了错误

List&lt;dynamic&gt; is not of type List&lt;String&gt;

firestore 中的 idList 看起来像这样

【问题讨论】:

请提供数据样本。 你能提供firestore中idList的截图吗? 【参考方案1】:

我们需要使用List.castFrom

List<String> idList = List.castFrom(snap.data['idList'] as List ?? []);

as List ?? [] 不是强制性的,但可以防止数据未定义或为空时出错。

【讨论】:

这对我有用,但是如果我想将字符串列表添加到 Firestore,我该怎么做

以上是关于Flutter firebase, List<dynamic> 不是 List<String> 类型的主要内容,如果未能解决你的问题,请参考以下文章

Flutter firebase, List<dynamic> 不是 List<String> 类型

将 Future<List> 从 Firestore 转换为 List<String> - Flutter Firebase [重复]

无法在容器 Flutter Firebase 中获取 List<Text> 的值

Firebase once() 方法不等待 Flutter

Flutter Firebase 上传多张图片

在 Flutter 中从 Firebase 读取数组 [重复]