Flutter Mobx-在PageView中页面之间传递存储状态

问题描述 投票:0回答:1

如何使用PageView在页面之间传递或保持商店的状态?

例如,我正在尝试在第一页上载图片进行编辑,然后传递到第二页,我要在其中显示带有表单的图像。我正在使用MVC,并且该图像是通过控制器(存储)设置的,但是它不起作用。我已经进行了一些测试,有时在调试运行时,该图像显示在第二页上。但是,有时甚至不会调试它,并且它的值为null。我也尝试过AutomaticKeepAliveClientMixin,但是行为是相同的。

有人可以告诉我我做错了什么或我想念什么?

flutter state mobx pageviews
1个回答
0
投票

我认为使用单例可以解决您的问题,实际上我认为我在制作的两个应用程序中都遇到了这个问题。

我使用了get_it插件,此软件包可为您轻松创建sigletons,无需使用上下文即可轻松在应用程序中的任何位置进行检索。

[首先,将您的MobX注册为Singleton,我在main上完成它:

getIt.I.registerSingleton<YourStore>(YourStore());

检索商店的同一实例,如果您在第一页中有可观察对象,并在第二页上调用一个动作,它将触发第一页中的可观察对象,或您在此Store实例中使用任何可观察对象的任何地方。

GetIt.I<YourStore>().changeImageFromFirstPage();

您可以在应用程序中的任何位置调用GetIt.I()。youraction(),它将触发您在此商店中创建的可观察对象。

© www.soinside.com 2019 - 2024. All rights reserved.