【发布时间】:2022-07-19 00:49:58
【问题描述】:
目前我认为放置它们的最佳位置是创建路线时。那是因为我可以轻松地模拟导航器推送调用。但是当我有某种带有 3 个不同的单独屏幕的 TabScreen 时,我对我应该做什么感到困惑,我们通常在没有路由的情况下实现这些屏幕。如果我在创建 tabviews 时将 Providers 分别放在不同的地方,我的意思是结构将像 tabs:[ProvidersForScreen1(Screen1), ProvidersForScreen2(Screen2)...],那么看起来我们获得了孤立的功能,这很好但在这种情况下我无法创建 TabScreen 来测试它,因为 Providers是在 TabScreen 中创建的,我无法模拟它们。如果有的话,有人可以告诉我更好的方法吗?
【问题讨论】:
-
为什么不直接封装应用并在顶层提供所有这些?
-
@user18309290 这是一个不好的做法,因为它永远不会被释放,它可以在应用程序的任何位置无缘无故地访问
标签: flutter flutter-provider flutter-bloc