flutter - Flutter 将 Provider Value 存储在变量中,以便在收听时重用它
问题描述
我正在使用Provider
-Package 在我的应用程序中存储一些数据。为此,我还Service-Class
定义了几个函数。现在问题是我几乎在每个函数中都需要这两个值:
Year currentYear =
Provider.of<CurrentlySelectedProvider>(context, listen: true)
.currentYear;
Month currentMonth =
Provider.of<CurrentlySelectedProvider>(context, listen: true)
.currentMonth;
现在我只是在类的每个方法中调用它。但这似乎有点愚蠢。有没有办法在我的类中的某个地方定义这两个值,这样我就可以用一个简单的变量访问它们,而不必调用。整件事一遍又一遍?
我希望我的问题很清楚。如果您需要更多信息,请告诉我!
解决方案
您可以创建一个 getter 函数:
CurrentlySelectedProvider get myProvider => Provider.of<CurrentlySelectedProvider>(context, listen: false);
然后,您可以像这样在每个函数中访问它:
myProvider.currentYear;
myProvider.currentMonth;
推荐阅读
- node.js - 上传图片到 S3 Bucket 并发送对应的 url 到 MongoDB
- rdlc - 如何在不保存为 pdf 的情况下从 RDLC 报告中进行准确的打印
- excel - 运行代码时收到类型不匹配错误
- python - 如何使用非贪婪正则表达式从“来自richard.richrdqwd@uct.za.ca”中提取d@u?
- python - 使用来自 ThreadPool 执行程序的结果使用函数中的参数创建多个文件
- javascript - 你如何在 App.js 文件中使用 React 上下文?
- html - 在powerapps中的pdf中添加签名
- python - 未找到“pip==20.3.3”分布,应用程序需要该分布
- python - 从另一个 Juypter 笔记本导入的功能更改未反映
- amazon-web-services - 如果数据不存在,terraform 会失败吗?