如何解决 flutter firebase 中的此 NoSuchMethodError

2024-02-21

我有这段代码,应该返回 userId。问题是它返回 null,因为用户已注销。

@override
void initState() {
// TODO: implement initState
super.initState();
try {
  widget.auth.currentUser().then((userId) {
    setState(() {
     authStatus = userId == null ? AuthStatus.notSignedIn : AuthStatus.signedIn;
    });
  });
} catch (e) {}
}

即使在将 catch 块包裹起来之后,这仍然会引发错误。该错误冻结了我的应用程序 错误:

Exception has occurred.
NoSuchMethodError: The getter 'uid' was called on null.
Receiver: null
Tried calling: uid

尝试调用的方法是

Future<String> currentUser() async {
FirebaseUser user = await _firebaseAuth.currentUser();
return user.uid;
}

尝试这个:

     widget.auth.currentUser().then((userId) {
        setState(() {
         authStatus = userId == null ? AuthStatus.notSignedIn : AuthStatus.signedIn;
        });
      }).catchError((onError){
        authStatus = AuthStatus.notSignedIn;
      });

Update如果 firebaseAuth 返回 null,则您无法使用用户的 uid 属性,因为它为 null。

    Future<String> currentUser() async {
      FirebaseUser user = await _firebaseAuth.currentUser();
      return user != null ? user.uid : null;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决 flutter firebase 中的此 NoSuchMethodError 的相关文章

  • 如何在 Flutter Web 应用程序中保存和下载文本文件

    我是 Flutter 新手 正在使用 Flutter Web 应用程序 我的要求是创建和下载文本文件 像下面这样 void getData List
  • 如何检测颤振中的滑动

    我尝试使用 flutter 的滑动检测器插件来实现向右滑动导航到新屏幕 但它不起作用 不会引发任何错误 并且在调试它时永远不会命中断点 我研究了 GestureDector 但我不确定它是否适用于向右滑动的场景 我们希望它在屏幕上的任何位置
  • 如何检测flutter网站是否在浏览器后台运行?

    WidgetsBindingObserver 不适用于我的 flutter web 项目 是否有类似的东西可以检测用户何时关闭浏览器 例如使用 widgetbinding 关闭本机设备应用程序 我想在每次重建浏览器后重建整个网站 无论网站之
  • 如何在flutter中自定义Steppers并通过内容中的小部件进行控制?

    我在视图中创建了一系列步骤 我想使用 Flutter 中的 Stepper Widget 来实现这些步骤 不过 我希望这些步骤由内容中的小部件触发 而不是继续和取消 我尝试使用controlsBuilder 但是它为每个步骤创建相同的控件小
  • FirebaseAuth - 让用户使用任何提供商更改密码 - Android

    我有一个社交媒体应用程序 我正在使用FirebaseUI让用户使用电子邮件 Google 或 Facebook 登录 注册应用程序 如果使用 电子邮件 作为密码 我怎样才能让用户稍后更改他 她的密码 提供商 如果使用 Facebook 或
  • Firebase 附加权限。是否要求用户接受

    我目前正在致力于将 Firebase Analytics 集成到我的 Android 应用程序中 我遇到的问题是 Firebase 添加了一些新权限 这些权限是 permission WAKE LOCK com google android
  • 如何在 flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架

    In a 颤振插件 我想用一个Objective C我的框架iOS部分用swift编写 然后将其用于使用 Swift 的 Flutter 项目作为 iOS 语言 经过一些研究 我不是 iOS 开发人员 后 我发现我想要做的事情可以通过导入文
  • Firebase 函数 app_remove ,获取用户 ID

    一旦用户删除我的应用程序 我就尝试在我的 firebase 数据库中创建一个新条目 带有 userid 安卓 use strict const admin require firebase admin const functions req
  • 如何指定测试窗口?

    我需要测试中的屏幕看起来与物理设备 或模拟器 上的屏幕相同 我该怎么做 就我而言 设备 ID 为 Iphone SE 我编写了一个将屏幕截图保存到磁盘的测试 testWidgets test WidgetTester tester asyn
  • Firebase Auth:此应用无权使用 Firebase

    我的应用程序 build gradle compile com firebaseui firebase ui auth 2 3 0 compile com google firebase firebase auth 11 0 4 compi
  • 如何在 Firebase 上扁平化数据

    我正在开发一个应用程序 用户可以在类别中发布产品 我正在使用 firebase 并且正在尝试展平数据库中的数据 但我不确定帖子与类别的连接 这是数据库设计 categories category1 id 1 name computers c
  • 颤振:音频服务。如何播放本地文件?

    我想播放本地文件的播放列表 在android上 没有问题 我可以在Mediaitem id 中添加本地文件并且它可以正常播放 但在 iOS 上它不起作用 我收到这个错误 VERBOSE 2 ui dart state cc 186 Unha
  • 我在浏览时无法预览 vscode 上的图标?

    如图所示 我正在浏览图标 但没有显示任何图标 新的更新是否有变化 或者我在这里遗漏了一些东西 gt 它曾经在我浏览时显示图标 当您将鼠标悬停在工具提示的右侧时 应该会出现一个箭头 指出 阅读更多 只需单击一次 因此图标预览应该始终出现
  • Flutter - 迭代对象键和值

    我有和反对 我想知道是否有一种简单的方法来迭代它的键和值 class Post String id String title String article Post this id this title this article 那没有 你
  • 错误:无法在 pubspec.yaml 中找到目录条目

    我正在尝试在我的 flutter 应用程序中添加外部包中的资产 正如这里提到的 https flutter dev docs development ui assets and images bundling of package asse
  • Android 应用程序在后台时如何从 firebase-message 获取数据

    我正在使用 firebase console 发送 firebase 消息 这些消息应包含如下所示的附加数据 目的是在我的应用程序的 web 视图中打开特定的 URL 我设置了清单和 firebase 类来获取消息 在我的 firebase
  • firestore 安全规则 request.auth.uid 不起作用

    Firestore 安全规则不起作用 帮我 无法读取用户 用户 ID 的文档数据 安全规则 service cloud firestore match databases database documents match users use
  • 如何获取firebase数据库中所有孩子的数据?

    我有这个 firebase 数据库 我需要获取用户的所有电话号码 我应该使用哪个侦听器来获取所有孩子 每个用户都作为一个对象添加 其中用户 ID 作为该对象的名称 我需要在不知道用户 ID 的情况下检索该对象 我搜索了文档 它与DataSn
  • 身份验证后如何退出 Google

    所以我的应用程序可以选择使用 Google 登录 单击 Google 提供的按钮后 将打开一个 Web 视图并让用户输入其凭据 允许应用程序访问其信息后 应用程序将用户登录并将 SignInViewController 更改为 TabBar
  • MLKit Firebase android - 如何将 FirebaseVisionFace 转换为图像对象(如位图)?

    我已将 MLkit FaceDetection 集成到我的 Android 应用程序中 我已参考以下网址 https firebase google com docs ml kit android detect faces https fi

随机推荐

  • application.properties中的spring boot .env变量

    我已经创建了 env 文件 我现在在其中保存变量 我希望它们在我的 application properties 中定义 但这不起作用 我需要添加什么来获取变量 env 文件 MYSQLDB USER root MYSQLDB ROOT P
  • TopoJSON 属性保留

    我正在使用 topojson 转换现有的 GeoJSON 数据集 但它不保留属性 它遵循标准 GeoJSON 格式 并将属性放置在与几何图形同一级别的 属性 对象中 下面的片段 但是当 topojson 成功完成时 我最终会得到一个可以使用
  • 在两个逻辑 CPU 之间共享 TLB 条目 (Intel)

    我想知道当属于同一程序且具有相同PCID的两个线程被安排在同一物理CPU上运行时是否可以共享TLB条目 我已经研究过SDM https www intel com content www us en developer articles t
  • 通过电子邮件或手机在 Laravel 中重置密码

    默认情况下 Laravel 5 5 的密码重置系统适用于电子邮件 但我需要添加对手机号码的支持 通过 OTP 验证并生成令牌并重定向到密码重置页面 我正在做所有这部分 并且我在password resets表上创建了一个移动列 但问题是 I
  • .CSHTML 页面将不会呈现

    我正在尝试让我的服务器运行 cshtml 文件 使用 WebMatrix 3 我可以通过右键单击并选择 在浏览器中查看 来查看页面 但该查看是通过本地计算机端口进行的 如果我尝试从 Internet 访问这些页面 则会收到 500 错误 这
  • ASP.NET Core 和 JQuery 不显眼的 AJAX 无法正常工作

    如果我在 net 4 5 中启动一个新项目并点击 管理 nuget 包 搜索 ajax 然后点击 安装 ajax unobtrusive 然后我可以进入我的 cshtml 文件并输入 Ajax 例如 Ajax beginForm 如果我使用
  • Yii - 从 URL 中消除模块的默认控制器 ID

    我创建了一个模块 其中存在一个默认控制器 现在我可以访问默认控制器中的索引操作 默认操作 例如 mymodule 对于所有其他操作 我需要在 url 中指定控制器 id 例如 mymodule default register 我想知道是否
  • JavaScript 遍历数组并用下一个减去每个项目

    我有一个如下所示的数组 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 21 19 22 20 23 我想
  • Git 在提交时指定用户和电子邮件?

    我们已经在测试服务器上创建了代码分支 多个用户现在正在通过 SSH 连接到新服务器并使用命令行进行所有提交来处理该代码 但是 Git 当然不知道是谁进行了更改并提交了这些更改 因此我们需要在提交期间指定作者 我认为我们可以通过以下方式实现这
  • 是否可以使用 Jigsaw 在 Java 9 中通过反射来访问包作用域的方法?

    我有以下代码来检索默认值URLStreamHandlers对于 http 和 https 它通过访问静态包作用域方法在 Java 8 中工作URL getURLStreamHandler private URLStreamHandler g
  • 编辑构建 R 包时生成的默认 PDF 手册

    我已成功执行以下步骤来创建我自己的 R 包 创建包的骨架并粘贴 Rd NAMESPACE and DESCRIPTION files 被处决R CMD check package name 没有错误 它还生成了 2 个 pdf 其中之一包含
  • 具有动态数组的 VBA 字典

    我正在尝试创建包含动态数组的动态字典 电子表格中的示例行 Facility Name Contact Name Contact Role 设施和联系人之间的关系是M2M 我想重新创建一个如下所示的工作表 Contact Name Facil
  • 持久化图形数据 (Java)

    我有一个利用图形 树状 自定义结构的应用程序 这些结构不是真正的树 但几乎所有东西都连接在一起 数据量也很大 可以存在数百万个节点 树节点的类型可以不同 以使其更有趣 继承 我不想改变数据结构来适应持久性存储 我想保留这些数据而不需要太多额
  • 在两个不同模式中使用两个同名表时避免 Hibernate Annotation Exception

    我有两个表 都在两个不同的模式中命名为 Language 我们将它们称为 schema1 和 schema2 当我注释每个表的模型时 我的代码如下所示 实体 Table 名称 语言 目录 模式1 公开课语言 Entity Table nam
  • 资源 FullCalendar 中的固定列宽

    我正在使用支持资源视图的 FullCalendar 特殊版本 http tux fi jarnok fullcalendar resourceviews http tux fi jarnok fullcalendar resourcevie
  • SQL删除表中不重复的条目

    我有一个有两列的表格CountryCode CountryName 中存在重复条目countrycode 但我想删除不重复的条目并保留重复的行countrycode柱子 所以我想写一个SQL语句来做到这一点 我想我必须使用having 但不
  • Ruby on Rails 生成视图

    有没有办法使用railsgenerate命令单独生成视图 我也愿意安装一个 gem 来完成现有的任务 基本上 脚手架命令给了我太多的东西 我宁愿手动编写我的控制器 但是 使用记录表编写索引视图的效率不是很高 您可以使用控制器生成器生成控制器
  • Firefox 扩展将 Javascript 数组作为对象发送

    我在将 JavaScript 数组传递给我正在编写的附加组件时遇到问题附加生成器 https builder addons mozilla org 为了进行通信 我使用事件并使用数组发送事件 但附加组件 内容脚本 获取一个对象 而不是数组
  • 尝试获取最小整数

    所以我有4个清单 我想找出哪个 list size 是最低的 我可以找到最低的 但有些结果是相同的 这是 我拥有的 if EAmount lt DAmount EAmount lt GAmount EAmount lt IAmount Fi
  • 如何解决 flutter firebase 中的此 NoSuchMethodError

    我有这段代码 应该返回 userId 问题是它返回 null 因为用户已注销 override void initState TODO implement initState super initState try widget auth