Как правильно достать данные из LocalStorage
У меня есть форма в которой пишется название количество страниц, потом я отдельно записываю количество страниц в LocalStorage. Потом не должен их получать и суммировать. Но я получаю из LocalStorage количества страниц через запятую. Как я могу их разделить и суммировать.
Код где я записываю в LocalStorage
addBook=async(name,count)=>{
let bookInfo = {};
bookInfo["name"] = name;
bookInfo["count"] = count;
await this.setState({
booksList: [...this.state.booksList,bookInfo],
nameValue: "",
countValue: 0,
booksPages: [...this.state.booksPages,count]
})
localStorage.setItem("booksList",JSON.stringify(this.state.booksList));
localStorage.setItem("booksPages",(this.state.booksPages));
}
Код где я беру из LocalStorage
componentDidMount(){
const booksList = localStorage.getItem('booksList');
const booksPages = localStorage.getItem('booksPages');
console.log("booksPages",booksPages)
if(booksList){
const savedList = JSON.parse(booksList);
this.setState({
booksList : savedList,
booksPages: booksPages
})
}else{
console.log("No list")
}
}
Например я ввожу Test 100 Test 100
То получаю в booksPages 100,100 Как мне это исправить
Спасибо
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Точно так же, как Вы это делаете для booksList.
localStorage.setItem("booksPages",JSON.stringify(this.state.booksPages));
...
const booksPages = localStorage.getItem('booksPages')? JSON.parse(localStorage.getItem('booksPages')) : [];
const pageSum = booksPages.reduce((acc, i) => acc + i, 0);