Jas*_*per 8 local-storage reactjs
我们正在开发一个程序,其中状态的某些部分必须是持久的。由于许多原因,Localstorage 似乎是完美的解决方案,除了我们无法让它工作的部分。
起初,本地存储似乎总是落后于程序的其余部分更新,就好像它被提供了一个较旧的状态。我们尝试了 - 在参考了博客的一些提示后 - 以下方法
我们使用“setState”调用的回调更新本地存储。
this.setState(
{selection: this.state.selection.concat(shop_item) },
() => {
this.saveToLocal();
}
);
Run Code Online (Sandbox Code Playgroud)
“SaveToLocal”函数如下:
saveToLocal() {
const local = this.state.favourites;
this.localStorage.setItem(‘saveFavorites’, JSON.stringify(local));
}
Run Code Online (Sandbox Code Playgroud)
然而,这段代码似乎根本没有为 localstorage 提供任何价值。有没有人知道我们做错了什么?
你应该只使用localStoragenot this.localStorage。
另外,我会在 setState 的回调中删除您的箭头函数,因为您没有将任何参数传递给this.saveLocal().
它应该以这种方式更具可读性:
this.setState(
{ selection: this.state.selection.concat(shop_item) },
this.saveToLocal
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7480 次 |
| 最近记录: |