【发布时间】:2023-03-10 15:40:01
【问题描述】:
我正在制作一个食谱盒项目,我有一个包含食谱对象数组的食谱状态。
我使用 saveToLocal 函数将当前状态保存到本地存储中,如下所示:
saveToLocal = () => {
const local = this.state.recipe;
localStorage.setItem("recipe", JSON.stringify(local));
}
并将其传递回添加、编辑或删除此类新配方的函数
addNewRecipe = (newRecipe) => {
this.setState({
recipe: [...this.state.recipe,newRecipe]
}, this.saveToLocal);
}
editRecipe = (recipe) => {
let selectedRecipe =this.state.recipe.find(obj=>obj.count==recipe.count)
let editedRecipe = Object.assign(selectedRecipe,recipe);
this.setState(Object.assign(this.state.recipe,editedRecipe),this.saveToLocal)
}
deleteRecipe = (recipe) => {
let arr = this.state.recipe.filter(obj => obj.count !== recipe.count);
}
但是,当我刷新应用程序时,这不起作用,但是当我检查检查工具内的本地存储时,本地存储仍然有配方数据。有什么办法解决这个问题?
谢谢
【问题讨论】:
-
您从哪里再次从 localStorage 获取项目?当您刷新应用时,您将失去您的状态。
-
你想要发生什么?
-
我想在刷新时保存食谱
-
刷新时保存?从哪里保存到哪里?
标签: javascript reactjs local-storage