问题描述
在提交 Stripe 付款表单(托管在他们的服务器上)后,我的 React SPA 启动了它的重定向。它重新加载整个 SPA,丢失所有状态。我正在使用 React Router,我设置的返回地址是一个特定的路由。如何防止它丢失所有状态?
点击表单中的取消或点击后退按钮时会发生同样的问题。
当然,我可以在启动支付页面之前将状态存储在服务器上,然后在稍后检索它,但这是很多额外的工作。
我认为这一定是 SPA 的常见问题,但我还没有找到简单的解决方案。
解决方法
如果您的状态仅存在于内存中,我预计会丢失它。为了保留它,您需要将其保存在某处,以便在用户返回您的网站时重新加载。本地存储是一个不错的选择。
例如,如果您使用 redux 进行状态管理,则可以使用 text
在本地存储中保存和加载您的 redux 存储。