【发布时间】:2020-04-01 23:19:25
【问题描述】:
我一直在尝试做一个简单的flutter应用,已经实现了登录逻辑。
void _saveForm() async {
final loginDetails = Provider.of<Login>(context);
final isValid = _form.currentState.validate();
if (!isValid) {
return;
}
_form.currentState.save();
loginDetails.isLoggingIn();
await loginDetails.logIn(_loginDetails);
if (loginDetails.getIsLoggedIn()) {
print("Changing page");
Navigator.of(context).pushReplacementNamed(ActivityScreen.routeName);
}
}
这将简单地导航到不同的页面。现在我想要的是,如果它已登录,我可以使用
loginDetails.getIsLoggedIn() 在我的另一个 Provider 类中开始获取一些数据。
我尝试使用Provider.of<Login>(context);,但找不到上下文。
如果不可能,我应该在哪里调用提供程序中的函数来获取数据,并且由于我通过登录获得了一个身份验证令牌,我保存在Login 提供程序中,我是否必须调用提供程序登录以获取身份验证令牌并在每次请求时传递。
Provider 中是否有类似拦截器的东西。
谢谢。
【问题讨论】: