map
메서드 사용 오류map
메서드를 사용할 때 TypeError: Cannot read properties of undefined (reading 'map')
오류가 발생했습니다.todosm
이 undefined
일 가능성이 있어, map
메서드를 호출할 수 없었습니다.todosm
이 배열인지 확인하고, 배열이 아니면 빈 배열로 설정하는 방법을 사용했습니다.export default function TodoList({ todosm, removeTodo, toggleTodo }) {
const todosArray = Array.isArray(todosm) ? todosm : [];
return (
<div>
{todosArray.map((todo) => (
<TodoItem
key={todo.id}
todo={todo}
removeTodo={removeTodo}
toggleTodo={toggleTodo}
/>
))}
</div>
);
}
todosm
이 배열이 아닐 때 발생할 수 있는 오류를 방지할 수 있었습니다.todosm
을 사용했지만, 의도했던 변수 이름은 아마도 todos
였을 것입니다.todos
로 수정하거나, 함수의 매개변수 이름을 todosm
에서 todos
로 변경하는 것이 바람직할 것입니다. 하지만, 제공된 코드상에서는 todosm
의 이름을 사용한 부분만 수정하여 해결하였습니다.Array.isArray()
함수를 사용하면 이러한 확인을 쉽게 할 수 있습니다.