我正在查看一个需要扩展的应用程序,当我刷新浏览器时某些路由不会丢失状态,而其他路由不会丢失状态,我寻找本地存储和模块,例如 redux-persist,但没有一个已经实现,比较路由和 sagas 中的代码在有效的路由(保持状态)和不有效的路由之间没有显示任何明显的区别。
有没有其他方法可以保持状态?
我正在查看一个需要扩展的应用程序,当我刷新浏览器时某些路由不会丢失状态,而其他路由不会丢失状态,我寻找本地存储和模块,例如 redux-persist,但没有一个已经实现,比较路由和 sagas 中的代码在有效的路由(保持状态)和不有效的路由之间没有显示任何明显的区别。
有没有其他方法可以保持状态?
您可以将状态的 JSON 表示形式保存到 cookie 中。这是我以前见过的事情。
您可以对状态进行 URL Base64 编码并将其作为参数放入 URL。
我确信有一个 NPM 包要查找,这里是一个使用示例: https ://www.browserling.com/tools/json-to-base64
{用户:user1}变成eyB1c2VyOiB1c2VyMSB9
然后,您可以在浏览器 URL 中进行设置,例如 url.com/?context=eyB1c2VyOiB1c2VyMSB9
这应该通过刷新持续存在,并且可以从 ComponentDidMount 生命周期设置回组件的状态
如果您导航到路线并state
使用传递react-router
,则取决于您使用的浏览器,该state
对象将通过页面刷新保持不变。