我的Flutter Web应用程序目前遇到问题。当我在新选项卡中打开页面时,提供程序将重新初始化。此行为类似于页面刷新在传统Web应用程序中的工作方式。因此,我失去了我的拯救状态。有没有什么方法可以在不依赖本地存储的情况下保存它,并在我的所有选项卡中访问它?请在下面找到我用来在新标签页中打开页面的代码:
html.window.open('/#${Result.routeName}', "_blank");
ogq8wdun1#
作为一个替代的状态管理包,bloc提供了一个解决方案下的hydrated_bloc包你正在寻找什么。但是在提供者端,也许你可以使用BroadcastChannel类来解决这个问题,但是创建一个本地存储会更容易和有效。您可以使用创建本地存储
bloc
hydrated_bloc
BroadcastChannel
flutter_secure_storage: or shared_preferences:
然后,您可以简单地创建一个方法来写入您希望在路由后恢复的状态。在新页面上恢复这些状态并删除该恢复存储。这将是最简单的解决方案,我猜,或者你可以移动到bloc。有一个伟大的编码会议:)
1条答案
按热度按时间ogq8wdun1#
作为一个替代的状态管理包,
bloc
提供了一个解决方案下的hydrated_bloc
包你正在寻找什么。但是在提供者端,也许你可以使用
BroadcastChannel
类来解决这个问题,但是创建一个本地存储会更容易和有效。您可以使用创建本地存储
然后,您可以简单地创建一个方法来写入您希望在路由后恢复的状态。在新页面上恢复这些状态并删除该恢复存储。
这将是最简单的解决方案,我猜,或者你可以移动到
bloc
。有一个伟大的编码会议:)