@helpmeplease196

Почему массив в localStorage обнуляется при обновлении страницы?

let arr=[]
localStorage.setItem("arr", JSON.stringify(arr))
let priceArrString = localStorage.getItem("arr")
let priceArr=JSON.parse(priceArrString)


Далее в массив добавляются элементы. Но при обновлении страницы, массив снова равен 0.
В чем здесь ошибка ?
  • Вопрос задан
  • 734 просмотра
Решения вопроса 2
@Azperin
Дилетант
Дак ты всегда пишеш в локалстор при обновлении
Первое что страница видит это localStorage.setItem("arr", JSON.stringify([]))
ты хоть делай проверку существует ли уже запись в сторе.
Не знаю правда о целесообразности хранения цен в каких-либо кешах, если только они у тебя не меняются месяцами.
Ответ написан
noder_ss
@noder_ss
Линуксоид-энтузиаст и SQL разработчик
Так вы с каждой перезагрузки сохраняете новую, проверяйте, существует ли она, например, проверка значения
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Не надо ничего никуда записывать. Две функции. Одна сохраняет значения, вторая получает.

function setStorageData(key, data) {
  localStorage.setItem(key, JSON.stringify(data));
}

function getStorageData(key, defaultValue = []) {
  return JSON.parse(localStorage.getItem(key)) ?? defaultValue;
}


Вот и всё. Где надо - получаете данные, где надо - сохраняете.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
03 мая 2024, в 19:46
1000 руб./за проект
03 мая 2024, в 18:59
2500 руб./за проект
03 мая 2024, в 18:52
15000 руб./за проект