我无法正确使用 Firebase 身份验证包

时间:2021-01-28 17:16:27

标签: firebase flutter firebase-authentication

每次我在 Android Studio 代码中第一次运行代码时,我都必须热重新加载它才能启用提交按钮。我认为问题在于当前版本的 Auth 包没有返回 FirebasAuth.instance.currentuser 作为未来,而是返回一个 User 类。这是我的代码。

import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';

class NewMessage extends StatefulWidget {
  @override
  _NewMessageState createState() => _NewMessageState();
}

class _NewMessageState extends State<NewMessage> {
  var _enteredMssg = '';
  var _controller = new TextEditingController();

  void sendMessage() {
    FocusScope.of(context).unfocus();
    final user = FirebaseAuth.instance.currentUser;
    print(user.uid);
    FirebaseFirestore.instance.collection('chat').add({
      'text': _enteredMssg,
      'createdAt': Timestamp.now(),
      'userId': user.uid,
    });
    // print(user.uid);
    _controller.clear();
    _enteredMssg = '';
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.only(
        top: 10,
      ),
      padding: EdgeInsets.all(10),
      child: Row(
        children: [
          Expanded(
            child: TextField(
              controller: _controller,
              decoration: InputDecoration(labelText: 'Send a message'),
              onChanged: (value) {
                _enteredMssg = value;
              },
            ),
          ),
          IconButton(
              icon: Icon(Icons.send),
              color: Theme.of(context).accentColor,
              onPressed: _enteredMssg.trim().isEmpty ? null : sendMessage)
        ],
      ),
    );
  }
}

1 个答案:

答案 0 :(得分:0)

去终端写—— Flutter pub 获取