A
interface TodoItem {
// title: string
// description: string
// time: string
// stars: number
completed: boolean
}
function useTodo<T extends TodoItem>(todos: T[]) {
const [todoList, setTodoList] = useState<T[]>(todos)
const toggleTodoCompleted = (idx: number) => {
setTodoList((prev) =>
prev.map((todo, i) =>
i === idx ? { ...todo, completed: !todo.completed } : todo
)
)
}
return [todoList, toggleTodoCompleted]
}
немного психанул