@prolina

Хранение данных в localstorage?

const logOut = () => {
    const user = JSON.parse(localStorage.getItem("User"));
    users.push(user);
    localStorage.setItem("Users", JSON.stringify(users));
    console.log(users.length);
    window.location = './form.html';
};

const logOutBtn = document.getElementById('log-out');
logOutBtn.addEventListener('click', logOut);


const password = document.getElementById('password');
const username = document.getElementById('username');

const loginUser = (username, password) => {
    const user = {
        userName: username.value,
        password: password.value
    };
    localStorage.setItem("User", JSON.stringify(user));
};
const submitBtn = document.getElementById('submit-btn');
submitBtn.addEventListener('click', loginUser.bind(null, username, password));

В данный момент массив получается из одного юзера. При logout в массив перезаписывается новый юзер каждый раз. Как сделать, чтобы при нажатии на logout, в массив добавлялся новый пользователь и тот, кто был ранее?
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Способом, как у вас 2-я строка, получите сохранённый ранее массив users, и в него пушьте.

Рекомендации:
  1. Названия ключей LS лучше держать в константах, а не писать строкой каждый раз.
  2. Предусмотрите вариант, когда в LS ничего нет – с этим точно столкнётесь впервые с массивом users
  3. Предусмотрите вариант, что LS в принципе недоступно - например в режиме Private Browsing.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы