【发布时间】:2021-07-01 23:11:13
【问题描述】:
import "package:flutter/material.dart";
import 'package:firebase_auth/firebase_auth.dart';
import 'package:tezuygulamasi/home_page.dart';
import 'package:tezuygulamasi/sign_in_page.dart';
class LandingPage extends StatefulWidget {
@override
_LState createState() => _LState();
}
class _LState extends State<LandingPage> {
late User _user;
@override
void initState() {
super.initState();
_checkUser();
}
@override
Widget build(BuildContext context) {
if(_user == null){
return SignInPage();
} else {
return HomePage(
user: _user,
);
}
}
Future<void> _checkUser() async{
_user = (await FirebaseAuth.instance.currentUser)!;
}
}
由于代码是这样写的,所以给出了我在标题中提到的错误。我知道这个错误的原因是使用 “晚了”。当我删除它时,我遇到了这样的问题。**
另一个页面代码
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
class HomePage extends StatelessWidget {
final User user;
HomePage({Key? key, required this.user}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Anasayfa"),
),
body: Center(
child: Text("Hoşgeldiniz ${user.uid}"),
),
);
}
}
“_user”或“User”参数导致问题。感谢您的帮助。
【问题讨论】:
-
您的代码希望能够检查
_user是否为null,因此使其可为空。 dart.dev/null-safety/understanding-null-safety -
我该怎么做,你能帮帮我吗?
标签: android flutter kotlin dart