首页 > 解决方案 > 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();
  }

在向服务器运行异步请求之前,我检查了是否有任何数据处于状态?确实如此,忽略请求,否则,将请求发送到服务器。我的问题是,

如何(如果可能的话)更好地组织代码以检查(在该状态下)是否有任何数据?我认为上述方式不是我必须做得很好的方式。

谢谢!祝你今天过得愉快。

标签: javaflutterasync-awaitstate-management

解决方案


推荐阅读