0

我正在查看一个需要扩展的应用程序,当我刷新浏览器时某些路由不会丢失状态,而其他路由不会丢失状态,我寻找本地存储和模块,例如 redux-persist,但没有一个已经实现,比较路由和 sagas 中的代码在有效的路由(保持状态)和不有效的路由之间没有显示任何明显的区别。

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

4

3 回答 3

0

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

于 2018-08-30T09:25:19.553 回答
0

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

我确信有一个 NPM 包要查找,这里是一个使用示例: https ://www.browserling.com/tools/json-to-base64

{用户:user1}变成eyB1c2VyOiB1c2VyMSB9

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

这应该通过刷新持续存在,并且可以从 ComponentDidMount 生命周期设置回组件的状态

于 2018-09-01T17:58:00.147 回答
0

如果您导航到路线并state使用传递react-router,则取决于您使用的浏览器,该state对象将通过页面刷新保持不变。

于 2018-09-01T16:55:45.550 回答