@yuriytkachenko

Как сохранить «лайки» в localStorage?

У меня очень простенький код, по нажатию на кнопку справа от кнопки число увеличивется на 1.Тоесть по сути имитация лайков.
Но конечно если перезагрузить страницу "лайки" пропадают. Как вариант можно сохранить в localStorage. К сожалению не очень хорошо знаю localStorage, пробовал сохранить но все равно при перезагрузке страницы все пропадает...
Подкскажите что нужно изменить или добавить чтобы лайки сохранялись.
Html:
<button class="like" onclick="plusOne()">like</button>
<div id="root"></div>

JS:
let likes = 1;
let plusOne = () => {
  document.querySelector("#root").innerHTML=likes;
  likes++;
  localStorage.setItem("likes", JSON.stringify(likes));  
}

CSS:
.like {
    float:left;
}
  • Вопрос задан
  • 639 просмотров
Решения вопроса 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Это будет работать только для одного устройства
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
localStorage это простое хранилище в вашем браузере.
Туда можно положить текст setItem(), или вытащить getItem(), если есть — всё тот же текст.

С «лайками» алгоритм такой:
  1. загружается страница;
  2. смотрим, есть ли сохранённые в LS лайки – если есть показываем их;
  3. при каждом обновлении счётчика лайков, записываем в LS.

spoiler
const KEY = 'my-likes';
let likes = 0; // по умолчанию
if (localStorage.hasOwnProperty(KEY)) likes = +localStorage.getItem(KEY);
const showLikes = n => document.querySelector("#root").innerText = n;
showLikes(likes);
let plusOne = () => {
  likes++;
  localStorage.setItem(KEY, likes);  
  showLikes(likes);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
У тебя это просто цифра. JSON.stringify не нужен для простых типов.
localStorage.setItem("likes", likes); // записать
Number(localStorage.getItem("likes")); // прочитать и привести строку к числу
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы