【问题标题】:React - saving state to local storageReact - 将状态保存到本地存储
【发布时间】:2026-01-24 12:55:02
【问题描述】:

我们正在开发一个程序,其中某些部分的状态必须是持久的。由于许多原因,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”,该功能再次起作用。我会支持你的回应,坐在角落里,戴着我的耻辱帽。

标签: reactjs local-storage


【解决方案1】:

您应该只使用localStorage 而不是this.localStorage

另外,我会删除 setState 回调中的箭头函数,因为您没有将任何参数传递给 this.saveLocal()

这样应该更易读:

this.setState(
  { selection: this.state.selection.concat(shop_item) },
  this.saveToLocal
);

【讨论】:

    最近更新 更多