是否可以在不使用本地存储或模块的情况下在浏览器刷新时保持Redux状态?

时间:2018-08-30 07:28:09

标签: redux redux-saga redux-router

我正在寻找一个需要扩展的应用程序,刷新浏览器时某些路由不会丢失状态,而其他路由则需要,我在寻找本地存储和模块(例如redux-persist),但是这些都没有实现,将路线和sagas中的代码进行比较并没有发现有效的路线(保持状态)与无效的路线之间没有明显的区别。

还有其他方法可以保持状态吗?

3 个答案:

答案 0 :(得分:0)

您可以将状态的JSON表示形式保留在cookie中。这是我以前见过的事情。

答案 1 :(得分:0)

如果导航到路线并使用state通过react-router,则根据您使用的浏览器,该state对象将通过页面刷新而保留。

答案 2 :(得分:0)

您可以使用URL Base64对状态进行编码,并将其作为参数放入URL中。

我确定要查找NPM软件包,这是使用以下示例: https://www.browserling.com/tools/json-to-base64

{用户:user1} 成为eyB1c2VyOiB1c2VyMSB9

然后您可以在浏览器URL中进行设置,例如url.com/?context=eyB1c2VyOiB1c2VyMSB9

这应该通过刷新得以保持,并且可以从ComponentDidMount生命周期中重新设置为组件状态