Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 注销后处置/重置提供程序_Flutter - Fatal编程技术网

Flutter 注销后处置/重置提供程序

Flutter 注销后处置/重置提供程序,flutter,Flutter,如何处置或重置所有提供商? 如果用户注销,我需要重置所有提供程序,以便为新登录的用户再次触发所有提供程序流 我怎样才能做到这一点 谢谢您的提供商的工作是处理处置:当提供商小部件从树中删除时,它应该关闭流 您需要做的是将您的提供者放置在“登录用户”窗口小部件树之上,这样当用户注销并放置在登录路径之上时,您的提供者将自动处理删除的窗口小部件 下面的示例将模型实例化一次,并在 提供程序将从树中删除 类模型{ void dispose(){} } 类无状态扩展无状态小部件{ @凌驾 小部件构建(构建上下

如何处置或重置所有提供商? 如果用户注销,我需要重置所有提供程序,以便为新登录的用户再次触发所有提供程序流

我怎样才能做到这一点


谢谢

您的
提供商的工作是处理处置:当提供商小部件从树中删除时,它应该关闭流

您需要做的是将您的提供者放置在“登录用户”窗口小部件树之上,这样当用户注销并放置在登录路径之上时,您的提供者将自动处理删除的窗口小部件

下面的示例将
模型实例化一次,并在
提供程序
将从树中删除

类模型{
void dispose(){}
}
类无状态扩展无状态小部件{
@凌驾
小部件构建(构建上下文){
返回提供者(
创建:(上下文)=>Model(),
dispose:(上下文,值)=>value.dispose(),
孩子:。。。,
);
}
}

值得注意的是,
Provider.value
在不处理现有值的情况下公开现有值。

所以每个提供程序都需要自己的dispose方法?写什么?我只想再次触发构造函数。。我想我需要重构,因为现在我所有的提供者基本上都是顶级的。@combi35为您更新了答案。