dart 防止在Flutter Web中重新初始化Provider

vmjh9lq9  于 2023-06-19  发布在  Flutter
关注(0)|答案(1)|浏览(144)

我的Flutter Web应用程序目前遇到问题。当我在新选项卡中打开页面时,提供程序将重新初始化。此行为类似于页面刷新在传统Web应用程序中的工作方式。因此,我失去了我的拯救状态。有没有什么方法可以在不依赖本地存储的情况下保存它,并在我的所有选项卡中访问它?请在下面找到我用来在新标签页中打开页面的代码:

html.window.open('/#${Result.routeName}', "_blank");
ogq8wdun

ogq8wdun1#

作为一个替代的状态管理包,bloc提供了一个解决方案下的hydrated_bloc包你正在寻找什么。
但是在提供者端,也许你可以使用BroadcastChannel类来解决这个问题,但是创建一个本地存储会更容易和有效。
您可以使用创建本地存储

flutter_secure_storage: 

or 

shared_preferences:

然后,您可以简单地创建一个方法来写入您希望在路由后恢复的状态。在新页面上恢复这些状态并删除该恢复存储。
这将是最简单的解决方案,我猜,或者你可以移动到bloc
有一个伟大的编码会议:)

相关问题