@McThinker

Как правильно организовать сохранение в localStorage?

Цель: Сохранить введенные в форме данные пользователя на пол часа, пока не выбран другой пользователь.

Как вижу я:
Делаю serialize формы, пишу в localStorage.
Сохраняю ID юзера.

Пишу функцию на очистку localStorage:
function clearLocalStorage() {
  let limit = 3600000 * 24;
  let localStorageInitTime = localStorage.getItem('localStorageInitTime');
  if (localStorageInitTime === null) {
    localStorage.setItem('localStorageInitTime', +new Date());
  } else if(+new Date() - localStorageInitTime > limit)
    localStorage.clear();
  localStorage.setItem('localStorageInitTime', +new Date());
}


Как связать ID юзера с данными формы?
  • Вопрос задан
  • 280 просмотров
Решения вопроса 1
@nvdfxx
Senior Pomidor developer
Как связать ID юзера с данными формы?

const users = [
    {
        uID: 'xxxxxxx1',
        data: 'serialized form data',
        initTime: 4617390192123
    },
    {
        uID: 'xxxxxxx2',
        data: 'serialized form data',
        initTime: 1353451451323
    }
]

localStorage.setItem('users', JSON.stringify(users))

const findUserByID = ID => users.find(e => e.uID === ID)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
Вы неправильно храните данные. В идеале данные надо представить в виде объекта со всей исчерпывающей информацией (данные полей, дата сохранения и так далее), перегнать этот объект в JSON и уже потом сохранить в localStorage. Смысл плодить кучу ключей?
Ответ написан
Ваш ответ на вопрос

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

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