【发布时间】:2019-11-18 19:11:37
【问题描述】:
我成功地使用 Flutter 设置了一个应用,通过 Firebase 身份验证注册和登录。
登录后,我回到主屏幕,我会在其中获得用户:
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
final FirebaseAuth _auth = FirebaseAuth.instance;
FirebaseUser user;
@override
void initState() {
super.initState();
initUser();
}
initUser() async {
user = await _auth.currentUser();
setState(() {});
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
//appBar: AppBar(title: const Text("Run to Feel Better")),
body: Center(
child: Column(
children: <Widget>[
if (user == null)
RoundedButton(
buttonTitle: 'Crea un account',
color: kRTFBBlue,
onPressedFunction: () {
Navigator.pushNamed(context, '/account');
},
)
else
Text("${user?.email}"),
],
),
),
bottomNavigationBar: bottomBar(context, 0),
), // /widgets/home_scaffold.dart
);
}
}
所以,一切正常,但我的问题是:让当前用户进入其他页面的正确方法是什么?我是否必须使用 FirebaseAuth.instance 重新检查每个屏幕,还是可以保存并在页面之间共享(可能使用 Provider 包)?
非常感谢。
【问题讨论】:
标签: firebase flutter dart firebase-authentication