Я делаю проект коробки рецептов, у меня есть состояние рецепта с массивом объектов рецепта.
Я использую функцию 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);
}
Однако, это не работает, когда я обновляю приложение, но когда я проверяю локальное хранилище внутри инструмента проверки, у localalstorage все еще есть данные рецепта. Как это исправить?
Спасибо