React - 将状态保存到本地存储
Posted
技术标签:
【中文标题】React - 将状态保存到本地存储【英文标题】:React - saving state to local storage 【发布时间】:2018-07-14 03:54:53 【问题描述】:我们正在开发一个程序,其中某些部分的状态必须是持久的。由于许多原因,Localstorage 似乎是完美的解决方案,除了我们无法使其工作的部分。
起初,本地存储似乎总是落后于程序的其余部分进行更新,就好像它被提供了一个较旧的状态。 在咨询了博客中的一些提示后,我们尝试了以下方法
我们使用“setState”调用的回调来更新本地存储。
this.setState(
selection: this.state.selection.concat(shop_item) ,
() =>
this.saveToLocal();
);
'SaveToLocal'函数如下:
saveToLocal()
const local = this.state.favourites;
this.localStorage.setItem(‘saveFavorites’, JSON.stringify(local));
然而,这段代码似乎根本没有为 localstorage 提供任何价值。有谁知道我们做错了什么?
【问题讨论】:
你能展示你如何初始化this.localStorage
吗?
天哪。就是这样。我们删除了“this”,该功能再次起作用。我会支持你的回应,坐在角落里,戴着我的耻辱帽。
【参考方案1】:
您应该只使用localStorage
而不是this.localStorage
。
另外,我会删除 setState 回调中的箭头函数,因为您没有将任何参数传递给 this.saveLocal()
。
这样应该更易读:
this.setState(
selection: this.state.selection.concat(shop_item) ,
this.saveToLocal
);
【讨论】:
以上是关于React - 将状态保存到本地存储的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 Redux 的情况下将状态保存在本地存储 React 中?
在 angular/ngrx 应用程序中将状态保存到本地存储的逻辑的位置
如何创建 POST 请求以从本地路径将文件存储在服务器上 - React Native