【问题标题】:The argument type 'Type' can't be assigned to the parameter type 'FirebaseUser'参数类型“Type”不能分配给参数类型“FirebaseUser”
【发布时间】:2020-08-04 17:39:15
【问题描述】:

每当我在 onPressed 函数中调用此函数 (_sendToServer) 时,我都会收到此错误。 错误:无法将参数类型“Type”分配给参数类型“FirebaseUser”。 (argument_type_not_assignable 在 [robic] lib\profile_page2.dart:117) 我怎么解决这个问题。

 _sendToServer(FirebaseUser user) {
    if (_key.currentState.validate()) {
      _key.currentState.save();
      DatabaseReference ref = FirebaseDatabase.instance.reference();
      var data = {
        "name": name,
        "profession": profession,
        "message": message,
        "id": user.uid,
      };
      ref.child('node-name').push().set(data).then((v) {
        _key.currentState.reset();
      });
    } else {
      setState(() {
        _autovalidate = true;
      });
    }
  }
onPressed: () {_sendToServer(FirebaseUser);},

【问题讨论】:

  • 这里 _sendToServer(FirebaseUser) 你只传递了 FirebaseUser 类型...
  • 那我应该写什么。我实际上是想从中获取用户 ID。

标签: firebase flutter firebase-realtime-database dart firebase-authentication


【解决方案1】:

您只需将 onPressed(){_sendToServer(FirebaseUser)} 中的 FirebaseUser 更改为 FirebaseUser()

onPressed: () {_sendToServer(FirebaseUser());},

【讨论】:

    【解决方案2】:

    您需要从 FirebaseAuth 获取当前用户

    试试这个

    _sendToServer() async{
        FirebaseUser user = await FirebaseAuth.instance.currentUser();
        if (_key.currentState.validate()) {
          _key.currentState.save();
          DatabaseReference ref = FirebaseDatabase.instance.reference();
          var data = {
            "name": name,
            "profession": profession,
            "message": message,
            "id": user.uid,
          };
          ref.child('node-name').push().set(data).then((v) {
            _key.currentState.reset();
          });
        } else {
          setState(() {
            _autovalidate = true;
          });
        }
      }
    

    这样调用函数

    onPressed: () {_sendToServer();},
    

    别忘了导入 FirebaseAuth

    import 'package:firebase_auth/firebase_auth.dart';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-12
      • 2019-02-08
      • 2020-11-15
      • 1970-01-01
      • 2021-01-05
      • 2018-12-26
      • 2021-06-19
      • 2021-12-13
      相关资源
      最近更新 更多