Не удалось получить элемент из localStorage - PullRequest
0 голосов
/ 20 апреля 2020

Когда я перезагружаю свою страницу, я безуспешно пытаюсь получить некоторые значения в localStorage с предыдущего посещения страницы. Элемент, который я пытаюсь получить, не особенно сложен: пять ключей со строковыми значениями и один ключ, представляющий собой массив из нескольких объектов.

let temp;
console.log('reading localStorage');
console.log(JSON.parse(localStorage.getItem(quizId))); // correct, shows what is in localStorage
temp = JSON.parse(localStorage.getItem(quizId));
console.log('reading temp');
console.log(temp); // has different values from what is in localStorage

У всех есть идеи, почему содержимое этих двух консолей. логи могут быть разные? (Я пытался использовать тайм-аут между вызовами и использовать Object.assign (), но они не имели никакого значения для вывода.)

РЕДАКТИРОВАТЬ: это шесть строк последовательного кода из больший файл, так что я ничего не меняю между этими строками.

Объект, который нужно извлечь из localStorage, имеет вид:

quizId = {
uname: 'dmorg',
uID: 1234,
currentView: "Q1",
thisQuiz: 
  [
    null, // to line up indices with question numbers
    [ // question 1
      null,
      // question 1 part 1
      {isAnswered: false, correctSoln: 1.234, userInput: 2.34, ...}
      // question 1 part 2
      {isAnswered: true, correctSoln: 3.41, userInput: 3.41, ...}
      ...
    ],
    [ // question 2
     ...
  ];
}; // end quizId

temp содержит ключи / значения от инициализации страницы до того, как какие-либо входные данные от пользователей, например, isAnseded все еще установлены в false, даже когда true в localStorage, userInput равен 0, даже если userInput равен 3.41 в localStorage.

Меня смущает то, что я правильно настраиваю localStorage, но не могу получить текущий элемент из localStorage, когда страница обновляется или повторно посещается.

Исправлена ​​опечатка, замеченная @Alex; это код, который я набрал здесь для указания сохраняемого объекта.

@ Леонардо, я пытался воспроизвести его в CodePen, но не могу получить доступ к localStorage таким образом. Начнем новый минимальный рабочий пример и начнем вновь вводить функциональность ...

TIA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...