我正在开发 PWA 并在付款页面上遇到了这个问题。基本上:
场景一
问题是我有一个无法显示的成功页面,因为在重新启动时我丢失了我所处的整个状态。
场景二
我能做些什么来防止这种情况发生吗?我知道当您从桌面打开 PWA 图标时,您基本上是在打开 chrome。但是,如果该应用程序已经打开(并且它仍然在“最近”选项卡中可见),我能做些什么来防止它重新启动?我猜手机会自动关机。
可能的解决方案:
我现在唯一能想到的就是将所有内容存储在 localStorage 中并尝试在刷新时重新加载。这样我就可以确保即使它关闭并再次打开,我仍然保持以前的状态。
有趣的是,场景 1(最让我困扰)只发生在三星 Galaxy S7 上(到目前为止测试了 6-7 台设备,它是唯一一个可以重现的设备)。Chrome 版本在所有版本上基本相同。
有任何想法吗?谢谢!
所以保存到本地存储例程起作用了。我传递给 Stripe 的回调函数被调用,但在 PWA 重新启动后立即被调用。
所以我所做的是在回调中的第一件事中将我的状态保存在 localStorage 中,带有一个标志,paymentInProgress
然后才尝试在服务器上调用 save 并显示成功页面。如果一切都在中间崩溃,应用程序会重新启动,componentDidMount
我正在检查 localStorage 数据和paymentInProgress === true
标志。
我仍然很好奇是否有其他解决方案可以防止页面从头开始重新加载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句