1

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

  • 为我的应用程序中的每个屏幕创建一个 ChangeNotifier 类来处理此页面的后端(仅提供给此屏幕)是一个好习惯吗?

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

在前面的例子中

  • 我应该使用提供程序仅重建页面的一小部分,还是这部分主要通过仅使用 changeState() 来处理?

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

  • 我应该在哪里放置页面的逻辑,例如按钮单击时的 http 请求和加载此页面的数据?
4

1 回答 1

0

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

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

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

于 2021-12-11T21:37:17.880 回答