【发布时间】:2020-08-16 15:02:33
【问题描述】:
我想让多个路由共享同一个提供程序,但我想出的唯一方法是将这些路由包装在嵌套导航器中,并且提供程序位于嵌套导航器的顶部
任何其他方式来做这样的事情
【问题讨论】:
标签: flutter provider state-management
我想让多个路由共享同一个提供程序,但我想出的唯一方法是将这些路由包装在嵌套导航器中,并且提供程序位于嵌套导航器的顶部
任何其他方式来做这样的事情
【问题讨论】:
标签: flutter provider state-management
通常的做法是将Provider 放在小部件树的最顶端。例如,在provider example 中,它位于runApp() 调用中。
【讨论】:
InheritedWidget 和状态管理解决方案的意义所在。它向上搜索树中的数据。
您可以将共享的内容传递给新路由和新的 Provider 小部件,该小部件可以将其提供给该路由的小部件树。因此,您可以拥有一个 bloc 类的单个实例,例如可访问多个路由,但仍然只实例化该 bloc 一次。
【讨论】: