react 과제 재제출

// App.jsx
const updateLists = (list) => {
const updatedTodo = [];
const updatedDone = [];
for (const item of list) {
if (item.isDone) {
updatedDone.push(item);
} else {
updatedTodo.push(item);
}
}
return [updatedTodo, updatedDone];
};
const toggleDone = useCallback(
(id) => {
const updatedTodoList = todo.map((item) => {
if (item.id === id) {
item.isDone = !item.isDone;
}
return item;
});
const [updatedTodo, updatedDone] = updateLists(updatedTodoList);
setTodo(updatedTodo);
setDone((prevDone) => [...updatedDone, ...prevDone]);
},
[todo]
);
const toggleCancle = useCallback(
(id) => {
const updatedDoneList = done.map((item) => {
if (item.id === id) {
return { ...item, isDone: !item.isDone };
}
return item;
});
const [updatedTodo, updatedDone] = updateLists(updatedDoneList);
setTodo((prevTodo) => [...prevTodo, ...updatedTodo]);
setDone(updatedDone);
},
[done]
);
const onRemove = useCallback((id) => {
setTodo((prevTodo) => prevTodo.filter((cards) => cards.id !== id));
setDone((prevDone) => prevDone.filter((cards) => cards.id !== id));
}, []);
const todoList = useMemo(() => todo, [todo]);
const doneList = useMemo(() => done, [done]);