gpt4 book ai didi

firebase - flutter: 'String'类型不是 'List'类型的子类型

转载 作者:行者123 更新时间:2023-12-03 04:15:30 30 4
gpt4 key购买 nike

我实际上有两个问题。

  • 我正在尝试将String类型对象添加到Firestore中的现有数组,如下所示:

  •   addWalletToUser(coinAddress) async {
    final FirebaseUser user = (await FirebaseAuth.instance.currentUser());
    try {
    await Firestore.instance.collection('users').document(user.uid)
    .updateData({
    "cryptoAddresses": FieldValue.arrayUnion(coinAddress)
    });
    } catch (e) {
    print('error caught: $e');
    return null;
    }
    }

    这将导致以下错误: flutter: type 'String' is not a subtype of type 'List<dynamic>'
  • 我的第二个问题是为什么在ift语句中执行我的代码,而addWalletToUser应该返回 null :

  • if (addWalletToUser(_textController.text) != null)

    任何帮助将不胜感激!

    最佳答案

    关于此错误:

    flutter: type 'String' is not a subtype of type 'List'



    这意味着您要尝试为列表分配一个字符串(如list = string)。
    arrayUnion带有 List<dynamic>类型的参数:
      static FieldValue arrayUnion(List<dynamic> elements) =>
    FieldValue._(FieldValueType.arrayUnion, elements);

    https://github.com/FirebaseExtended/flutterfire/blob/master/packages/cloud_firestore/cloud_firestore/lib/src/field_value.dart#L35

    因此,您需要执行以下操作:
    "cryptoAddresses": FieldValue.arrayUnion(['data1','data2','data3'])

    在您的情况下,可能是:
    "cryptoAddresses": FieldValue.arrayUnion([coinAddress])

    关于firebase - flutter: 'String'类型不是 'List<dynamic>'类型的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59193649/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com