我在做一个待办事项应用程序。我正在尝试将事件和www.example.com添加items.id到按钮函数中(例如:删除、编辑、完成)。
通常在React中,这是可以工作的(我也在普通React中制作了todo应用程序,没有问题)。使用TypeScript时,我会得到一个错误,说,expected 1 argument,got 2。如何在TypeScript中指定第二个参数?
function List({}: Props) {
const [todos, setTodos] = useContext(TodoContext);
const editButton = (event: React.MouseEvent<HTMLButtonElement>) => {
event.preventDefault();
};
const deleteButton = (event: React.MouseEvent<HTMLButtonElement>) => {
event.preventDefault();
console.log(todos);
};
const completedButton = (event: React.MouseEvent<HTMLButtonElement>) => {
event.preventDefault();
};
return (
<ListWrapper>
<ul className="list">
{todos?.map((item) => {
return (
<>
<li className="list__item">
<div className="list-item">
<span className="list-item__todo">{item.name}</span>
<button
className="list-item__button list-item__button--edit"
onClick={(e) => editButton(e)}
>
Edit
</button>
<button
className="list-item__button list-item__button--delete"
onClick={(e) => deleteButton(e)}
>
Delete
</button>
<button
className="list-item__button list-item__button--completed"
onClick={(e) => completedButton(e, item.id)}
>
Completed
</button>
</div>
</li>
</>
);
})}
</ul>
</ListWrapper>
1条答案
按热度按时间kgsdhlau1#
你的函数定义也需要有第二个参数。