【发布时间】:2019-01-20 22:34:17
【问题描述】:
我正在尝试查看是否可以添加一些在我的应用程序中传递的通用导航行为,并且我发现 InheritedWidget 是避免在小部件树周围传递特定回调的绝佳候选者,但是我注意到更多还有更多我只能拥有特定类类型的 InheritedWidget 才能使 InheritedWidget 模式起作用,我想知道是否有办法将 InheritedWidget 用作 mixin 或者是否有更好的选择。
我的应用看起来像这样,它向下传递一个回调
我现在有 3 个导航器,我需要提供相同的方法,但现在要自己执行操作,我需要创建 3 个 InheritedWidget 导航器,但问题是树下的任何小部件都必须这样做
NavigatorA.of(context).pushWidget()
但我更喜欢它是一个通用的GenericNavigator.of(context).pushWidget(),这样我的叶子小部件甚至不需要知道导航器对象的正确值,我害怕实现这个我需要能够将 InheritedWidget 用作 mixin
这是所需的流程,未传递任何回调
这是正确的策略还是有更好的方法? 如何将 InheritedWidget 用作 mixin?
【问题讨论】: