【问题标题】:The function can't be unconditionally invoked because it can be 'null' in flutter该函数不能被无条件调用,因为它在 flutter 中可以为 \'null\'
【发布时间】:2022-11-16 13:38:24
【问题描述】:

该函数不能无条件调用,因为它可以为“null”。在这部分出现错误auth.currentUser

 FirebaseAuth auth = FirebaseAuth.instance;
    final User user = await auth.currentUser();
    String uid = user.uid;
    await FirebaseFirestore.instance.collection('data').doc(uid).collection('data').doc();

【问题讨论】:

  • 尝试定义用户 user = await auth.currentUser();像 User 一样可以为空? user = await auth.currentUser();然后使用 String uid = user!.uid;

标签: flutter dart dart-null-safety


【解决方案1】:

尝试;

 FirebaseAuth auth = FirebaseAuth.instance;
final User user = await auth.currentUser;
String uid = user!.uid;
await FirebaseFirestore.instance.collection('data').doc(uid).collection('data').doc();

【讨论】:

    【解决方案2】:

    User 实例可能是 null,所以试试这个:

    FirebaseAuth auth = FirebaseAuth.instance;
    final User? user = await auth.currentUser();
    
    if(user != null) {
      String uid = user.uid;
    
      await FirebaseFirestore.instance.collection('data').doc(uid).collection('data').doc();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-12
      • 2022-11-26
      • 2022-08-15
      • 1970-01-01
      • 2021-12-01
      • 2022-08-15
      • 1970-01-01
      • 2021-09-16
      相关资源
      最近更新 更多