java - Flutter - 组织代码库的最佳方式?
问题描述
我已经provider
从 Flutter 中加入了状态管理器。因为,我是 Flutter 的新手,尤其是provider
插件方面。那么,您可以向我推荐什么,如何组织此代码部分?
好吧,我的颤振应用程序中有标签,我的目标是使服务器免于多余的不必要的请求。在选项卡小部件的顶部,我有一个void initState() {}
钩子,用于获取数据。但结果,我每次在那个标签上输入时都会感到高兴。因为我想保存我的服务器,所以我将其provider
作为状态管理器,我的想法是每个打开的应用程序只获取一次数据。
我的代码是如何工作的,你可以在这里看到:
void initState() {
WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
final fetchOrNot = context.read<ModulesProvider>().modulesData;
if (fetchOrNot.length < 1) {
context.read<ModulesProvider>().fetchModulesData().then((res) => {
if (res.length > 1)
{
setState(() {
_isLoaded = !_isLoaded;
})
}
else
{
_showDialog(context),
setState(() {
_serverIsDown = !_serverIsDown;
})
}
});
} else {
setState(() {
_isLoaded = !_isLoaded;
});
}
});
super.initState();
}
在向服务器运行异步请求之前,我检查了是否有任何数据处于状态?确实如此,忽略请求,否则,将请求发送到服务器。我的问题是,
如何(如果可能的话)更好地组织代码以检查(在该状态下)是否有任何数据?我认为上述方式不是我必须做得很好的方式。
谢谢!祝你今天过得愉快。
解决方案
推荐阅读
- angular - 未捕获的 ReferenceError:在角度 6 中使用 plotly 时未定义全局
- excel - 同时运行同一个 Excel VSTO 加载项的多个版本
- angular - 获取角度异步管道中第一个对象的属性
- spring-boot - 如何在没有身份验证的情况下允许 Spring Security 中的某些端点?
- c++ - ifstream::ifstream 在目录上的行为是否定义明确?
- excel - 从外部文件填充集合,然后关闭文件,并显示集合项
- c# - ASP.NET CheckBoxList 将字符串列表作为参数传递给 SQL Server 存储过程
- python - 如何在 Python 脚本中使用 Windows 身份验证,而不是提示用户输入或存储密码?
- sql - 表在 SQL Server 中不可见但可访问
- reactjs - ReactJS - popover onClick insde 数据内容不起作用