【发布时间】:2020-11-27 10:17:22
【问题描述】:
我在我的 Flutter 应用中使用 stacked architecture。 一切正常,但现在我正在尝试实现用户身份验证时遇到问题。
我的用户类应该在继承我的登录小部件的所有小部件和屏幕上可用。 但我不知道该怎么做,而且我在我所做的研究中找不到这些信息。
我应该在我的堆叠架构之上使用Provider 将我的User 类传递给子小部件吗?
例如,我有一个链接到 ViewModel 的视图,我想访问视图中的 User 类,但我不知道如何与该视图共享它,因为我的 User 类不可用在这个屏幕上。
class SettingsViewModel extends BaseViewModel {
// Some methods and getters that I use in my View
}
class Settings extends StatefulWidget {
@override
_SettingsState createState() => _SettingsState();
}
class _SettingsState extends State<Settings> {
@override
Widget build(BuildContext context) {
return ViewModelBuilder<SettingsViewModel>.reactive(
viewModelBuilder: () => SettingsViewModel(),
builder: (context, model, child) => Scaffold(
body: SafeArea(
child: SingleChildScrollView(
child: Container(
padding: EdgeInsets.symmetric(horizontal: 20),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
// I would like to display here the name of my User
Text("Jhon"),
Icon(Icons.close),
],
),
// ... Rest of the view ...
【问题讨论】: