没有为该类定义 Getter。我在这里做错了啥?
Posted
技术标签:
【中文标题】没有为该类定义 Getter。我在这里做错了啥?【英文标题】:Getter isn't defined for the class. What am i doing wrong here?没有为该类定义 Getter。我在这里做错了什么? 【发布时间】:2019-08-08 12:35:44 【问题描述】:我正在学习使用 Flutter 构建我的第一个登录系统的教程。我偶然发现了一个无法解决的 getter 错误。
在我重构代码以将身份验证部分移动到自己的文件中之前,一切正常。
这是有问题的代码:
abstract class BaseAuth
Future<String> signInWithEmailAndPassword(String email, String password);
class Auth implements BaseAuth
Future<String> signInWithEmailAndPassword(String email, String password) async
FirebaseUser user = (await
FirebaseAuth.instance.signInWithEmailAndPassword(
email: email,
password: password
)).user;
return user.uid;
这是我尝试使用它的方法:
class LoginPage extends StatefulWidget
LoginPage(this.auth);
final BaseAuth auth;
@override
State<StatefulWidget> createState() => _LoginPageState();
enum FormType
login,
register
...
class _LoginPageState extends State<StatefulWidget>
final formKey = GlobalKey<FormState>();
String _email;
String _password;
FormType _formType = FormType.login;
void validateAndSubmit() async
if (validateAndSave())
try
if (_formType == FormType.login)
String userID = await widget.auth.singInWithEmailAndPassword(_email,_password);
print('Signed in as $userID');
...
catch(e)
print('Error: $e');
...
这是我收到的错误消息: “没有为 StatefulWidget 类定义 getter 'auth'”。
代码在教程中运行良好。
我一直在寻找我们的代码库之间的差异,但对我来说没有什么不合适的。也许有人可以帮助改进者?
【问题讨论】:
【参考方案1】:class _LoginPageState extends State<StatefulWidget>
应该是
class _LoginPageState extends State<LoginPage>
【讨论】:
确实,这就是问题所在。我想我需要休息一下:)。感谢您的帮助!以上是关于没有为该类定义 Getter。我在这里做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章