Flutter集成Firebase报错:‘User?’类型无法赋值给‘User’类型
错误原因解析
这个错误的核心是Dart空安全机制下的类型不匹配,具体原因如下:
- Firebase Auth的相关API(比如
FirebaseAuth.instance.currentUser)返回的是可空类型User?——因为当用户未登录时,这些方法会返回null,官方为了遵循Dart空安全规范,将返回值设为可空类型。 - 你在代码里声明的变量是不可空的
User类型,直接把User?类型的值赋值给它,就会触发类型不兼容的报错。举个典型的错误代码示例:
这里User currentUser = FirebaseAuth.instance.currentUser;currentUser是User?类型,无法直接赋值给User类型的变量。
内容的提问来源于stack exchange,提问作者Ampeire Richard
相关产品推荐
相关产品推荐

