Flutter:除了将嵌套的导航器与提供程序包装在一起之外,是否还有其他途径可以在多个路由之间共享提供程序?

问题描述

我想让多个路由共享同一个提供程序,但我发现的唯一方法是将这些路由包装在嵌套导航器中,并且提供程序位于嵌套导航器的顶部

任何其他做这种事情的方式

解决方法

您可以将共享的内容传递给新路由和新的提供者小部件,后者可以将其提供给该路由的小部件树。因此,您可能只有一个bloc类的实例,例如可以通过多个路由访问,但仍然只能实例化该bloc一次。

,

通常的做法是将Provider放在小部件树的顶部。例如,在provider example中,它位于runApp()调用中。