gpt4 book ai didi

firebase - Flutter - 尝试构建 future 上下文以检查用户是否已登录,但我的构建方法有错误

转载 作者:行者123 更新时间:2023-12-04 13:13:46 24 4
gpt4 key购买 nike

Flutter 相当新,我有一个可以成功登录 Firebase 的应用程序。但是现在我正在尝试使应用程序跳过注册页面,如果用户已经注册。我为这篇文章创建了一个新模板。

我用过这个帖子:How to correctly check if a user is logged in为了灵感,但我的似乎抛出了一个错误。如果这有所作为,我正在使用 VSCODE:

import 'package:buildfuture/FirstPage.dart';
import 'package:buildfuture/SecondPage.dart';
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';

void main() {
runApp(MyApp());
}

class MyApp implements StatelessWidget {

@override
Widget build() {
return FutureBuilder<FirebaseUser>(
future: FirebaseAuth.instance.currentUser(),
builder: (BuildContext context, AsyncSnapshot<FirebaseUser> snapshot) {

if (snapshot.hasData) {
FirebaseUser user = snapshot.data;
return First();
}
return Second();
}
);
}
}

我不明白错误:

'Object.toString' ('String Function()') isn't a valid override of 'Diagnosticable.toString' ('String Function({DiagnosticLevel minLevel})').





'MyApp.build' ('Widget Function()') isn't a valid override of 'StatelessWidget.build' ('Widget Function(BuildContext)').



以防万一,我还包括了 FirstPage.dart。 SecondPage.dart 完全一样,只是类被命名为 Second
import 'package:flutter/material.dart';

class First extends StatelessWidget {

@override
Widget build(BuildContext context){
return new Container(
child: new Center(
child: new Icon(Icons.accessibility_new, size: 150.0, color: Colors.brown)
)
);
}
}

最佳答案

错误是行 class MyApp implements StatelessWidget
您应该使用 extends关键字代替 implements .

尝试:

class MyApp extends StatelessWidget{ // your class body ... }

还有 build方法签名必须包含 BuildContext范围。
@override
Widget build(BuildContext context){ return ... }

关于firebase - Flutter - 尝试构建 future 上下文以检查用户是否已登录,但我的构建方法有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62211370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com