firebase - 无法将参数类型 'Type'分配给参数类型 'FirebaseUser'

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

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

 _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);},

最佳答案

您需要从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';

关于firebase - 无法将参数类型 'Type'分配给参数类型 'FirebaseUser',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61352617/

相关文章:

java - 如何从 Firebase 数据库检索数据以显示标记?

flutter - VSCode 找不到 Flutter SDK 的路径

java - 为多个子节点设置值 Firebase

ios - Swift - 如何在 Firebase 中创建(全部)关注用户?

javascript - 如何删除路径在实时数据库中的文件?

firebase - Firebase中 "session_engaged"的 "session_start"事件属性是什么?

java - 从 FirebaseRecyclerAdapter 获取文档 ID 并将值传递给新页面

android - 火力地堡 Firestore : Is there a callback when there is no internet connection?

android - Firebase 身份验证使用谷歌登录失败

android - Flutter Swiper,从另一个屏幕弹出后在同一页面上