Тип аргумента «Тип» не может быть назначен типу параметра «FirebaseUser» - PullRequest
0 голосов
/ 21 апреля 2020

Всякий раз, когда я вызываю эту функцию (_sendToServer) в функции onPressed, я получаю эту ошибку. ошибка: тип аргумента «Тип» не может быть назначен типу параметра «FirebaseUser». (arguments_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);},

1 Ответ

1 голос
/ 21 апреля 2020

Вам нужно получить Текущего пользователя из 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';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...