로컬 스토리지를 활용한 Todo 예제 정답입니다.
절대 제가 작성한 코드가 무조건 적인 정답은 아니며,
여러분의 생각과 다르다면 그것이 정답일 것입니다~~
<aside> ☝ 로직
</aside>
let todos = [];
<aside> ☝ 로직
document.addEventListener('DOMContentLoaded', () => {
todos = JSON.parse(localStorage.getItem('todos')) || [];
renderTodos(todos);
});
<aside> ☝ 로직
function addTodo() {
const input = document.getElementById('todoInput');
const newTodo = input.value.trim();
if (newTodo) {
todos.push(newTodo);
localStorage.setItem('todos', JSON.stringify(todos));
renderTodos(todos);
input.value = '';
}
}
<aside> ☝ 로직
function renderTodos() {
const list = document.getElementById('todoList');
list.innerHTML = '';
todos.forEach((todo, index) => {
const li = document.createElement('li');
li.textContent = todo;
const deleteBtn = document.createElement('button');
deleteBtn.textContent = 'Delete';
deleteBtn.onclick = () => removeTodo(index);
li.appendChild(deleteBtn);
list.appendChild(li);
});
}