我在我的应用程序中使用 multiprovider。Provider 工作完美,它存储数据,并在发生任何变化时提供完美的事件。
现在,我的应用程序中有这种情况->
用户 1 已登录。现在,当我在同一个登录名中添加第二个帐户(如 Gmail - 多帐户)时,提供商会返回旧值。
我试图搜索提供者的重置值,但找不到与之相关的任何内容。
尝试过但没有用:
- 创建了要重置的提供者的新对象。
Provider.of<LoginProvider>(context).dispose();
我在我的应用程序中使用 multiprovider。Provider 工作完美,它存储数据,并在发生任何变化时提供完美的事件。
现在,我的应用程序中有这种情况->
用户 1 已登录。现在,当我在同一个登录名中添加第二个帐户(如 Gmail - 多帐户)时,提供商会返回旧值。
我试图搜索提供者的重置值,但找不到与之相关的任何内容。
尝试过但没有用:
Provider.of<LoginProvider>(context).dispose();
要更新 Provider 值,您可以使用.value()
构造函数调用它并使用状态相关变量。
class SomeWidgetState extends State<SomeWidget> {
Logins logins = [];
void addLogin(Login newLogin) {
setState((){
logins = [...logins, newLogin];
});
}
@override
Widget build(BuildContext context) {
return Provider.value(
value: logins,
child: OtherWidget(),
);
}
当调用addLogin
Provider中的注册值时会更新。