相关疑难解决方法(0)

Flutter:如何收听 FirebaseUser 是电子邮件验证布尔值?

我的想法: 我想在 Flutter 中使用 Firebase Auth 插件来注册用户。但在他们可以访问应用程序之前,他们必须验证他们的电子邮件地址。因此,我在注册后将 Firebase 用户推送到验证屏幕。这只是一个加载屏幕,告诉用户他必须验证他的电子邮件。

但是现在:如果用户的电子邮件是否经过验证并将他(如果为真)发送到主屏幕,我该如何持续收听?

我是 Flutter 的新手,我不知道我是否必须使用 Streams 或 Observables 或 while Loop 或 setState() 或其他东西来进行这样的布尔检查。而且我也不知道如何设置解决方案。

这是我注册用户的基本代码:

import 'package:cloud_firestore/cloud_firestore.dart';
import 'dart:async';

class AuthService {
  final FirebaseAuth _auth = FirebaseAuth.instance;
  final Firestore _db = Firestore.instance;

  Future<FirebaseUser> get getUser => _auth.currentUser();

  Stream<FirebaseUser> get user => _auth.onAuthStateChanged;

  Future<FirebaseUser> edubslogin(String email, String password) async {
    try {
      final FirebaseUser user = await _auth.createUserWithEmailAndPassword(
        email: email,
        password: password,
      );
     
      await user.sendEmailVerification();
      
      //email verification somewhere here
    
      updateUserData(user);
      return user; …
Run Code Online (Sandbox Code Playgroud)

state-management dart firebase firebase-authentication flutter

15
推荐指数
2
解决办法
1万
查看次数

在FutureBuilder中设置提供者的价值

我有一个小部件,它向返回地图的api发出请求。我想做的是每次加载小部件并将列表保存到appState.myList时都不会发出相同的请求,但是当我在中执行此操作时appState.myList = snapshot.data;FutureBuilder出现以下错误:

flutter: ??? EXCEPTION CAUGHT BY FOUNDATION LIBRARY ????????????????????????????????????????????????????????? flutter: The following assertion was thrown while dispatching notifications for MySchedule: flutter: setState() or markNeedsBuild() called during build. flutter: This ChangeNotifierProvider<MySchedule> widget cannot be marked as needing to build because the flutter: framework is already in the process of building widgets. A widget can be marked as needing to be flutter: built during the build phase only if one of its ancestors is …

dart flutter

6
推荐指数
1
解决办法
1724
查看次数