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