Не могу могу удалить объект объекта из localStorage

214
20 февраля 2019, 15:30

Не могу понять в чем проблема, поискал в гугле инфу, самое близкое это было заменить объект. Вроде получилось, но удаляются все элементы из localStorage. Вот код:

deleteBook = (id) => {
    const newBooks = {...this.state.books};
    if(newBooks.hasOwnProperty(id)){
        //удаляем объект из Dom
        delete newBooks[id];
        //перезаписываем его в localStorage
        localStorage.setItem("SAVED_BOOK", JSON.stringify(newBooks[id]));
        this.setState({books: newBooks});
    }
};
Answer 1

как работать с данными в localStorage отличными от строк

{//пишем
    let obj = { 1: { a: 'A' }, 2: { b: 'b' } };
    let str = JSON.stringify(obj)
    localStorage.setItem("ключ", str);
}
{//читаем
    let str = localStorage.getItem("ключ")
    let obj = JSON.parse(str)
}
{//читаем, правим, пишем
    let str = localStorage.getItem("ключ")
    let obj = JSON.parse(str)
    obj['3'] = { c: '' }
    delete obj['1']
    str = JSON.stringify(obj)
    localStorage.setItem("ключ", str);
}
READ ALSO
Получить часы и минуты в часовом поясе UTC

Получить часы и минуты в часовом поясе UTC

В переменной thisx содержится timestamp в миллисекундах

145
chrome.tabs.onUpdated.addListener is not a function

chrome.tabs.onUpdated.addListener is not a function

Консоль выдает такую ошибку, как исправить?

201
Почему не срабатывает плагин jQuery Zoom?

Почему не срабатывает плагин jQuery Zoom?

делаю карточку товара, в которой для картинок использую слайдер, а к слайдеру пытаюсь еще зум подключить, но уже несколько часов все безуспешноHtml...

158
Видео на полный экран с youtube iframe

Видео на полный экран с youtube iframe

Я вставляю на сайт YouTube видео через iframeМожно ли при нажатии на play открывать видео в полный экран?

263