首页 > 解决方案 > 如何处理本地状态与供应商的关系?

问题描述

我使用提供程序包来管理我的应用程序状态。关于如何管理应用程序中的状态,我有几个问题。

在这样的示例中:如果我有一个包含多个小部件的页面,并且我需要重建页面的一小部分,例如在启用开关时添加新的 TextField。

在前面的例子中

如果页面的本地状态应该在屏幕中处理。

标签: flutterclean-architecturestate-managementflutter-state

解决方案


如果您正在更新的状态只需要在一个小部件中,并且树中有一个或两个向下的小部件,我建议使用内置的 SetState。虽然 Provider 和 SetState 都适用于任何形式的状态管理,但我倾向于认为 Provider 类似于React Context

  • Provider 非常适合在页面级别保持状态,或者如果您想保持不同文件中的小部件构建和逻辑之间的分离。
  • SetState 非常适合在下面没有很多嵌套小部件的本地小部件。

这是一篇很棒的文章,讨论了不同的状态管理解决方案方法。在一天结束时,这取决于偏好!


推荐阅读