Я относительно новичок в веб-разработке и сейчас развертываю свое первое веб-приложение (список дел), вы можете посмотреть его https://peaceful-stream-48694.herokuapp.com/.
Теперь я хочу добавить HTML локальное хранилище для сохранения дел, и при инициализации веб-сайта мне выдается ошибка типа (не удается прочитать свойство null из ошибки моего дела). Я знаю, что я должен либо установить массив в ноль, когда нет элементов из хранилища, или загрузить их в массив, если есть (который уже работал), однако я не могу понять, как это сделать, когда есть в хранилище ничего нет.
Полагаю, это вопрос масштаба, но я просто не знаю, как это решить. Вот фрагмент кода, который хранит и загружает данные:
function saveList() {
let str = JSON.stringify(toDoList);
localStorage.setItem("todoList", str );
}
function loadList() {
if (toDoList == null) {
toDoList = [];
} else {
let str = localStorage.getItem("todoList")
toDoList = JSON.parse(str);
displayList()
}
}
function displayList() {
if (toDoList != null) {
for(i=0; i < toDoList.length; i++) {
htmlInsert ='<div id="' + toDoList[i].id + '" class="newItem"> <input type="checkbox"> <p>' + toDoList[i].toDo +'</p> <button type="button" class="deleteButton">DELETE</button></div>';
list = document.getElementById("itemsList");
list.insertAdjacentHTML("beforeend", htmlInsert);
SetupEventListener();
}
}
}
loadList()
Массив To-Do вначале определяется глобально: let toDoList = [];
Я ценю любую помощь. Большое спасибо и извините, если это грязно, не знал, как сделать это яснее.
Приветствия