javascript - 删除 React TodoList 切换
问题描述
我想在切换时删除待办事项。下面是代码。
// App.js
const onDone = useCallback(
(id, done) => {
if (done === false) {
setTodos(
todos.map((todo) =>
todo.id === id ? { ...todo, done: !todo.done } : todo
)
);
} else {
setTodos(todos.filter((todo) => todo.done !== done));
}
console.log(id, done);
},
[todos]
);
function App() {
return (
<List todos={todos} onRemove={onRemove} onDone={onDone} />
)
}
// ListItem.js
<ListItemBlock>
<div
className="doneBox"
done={done}
onClick={() => onDone(id, done)}
></div>
<div>{text}</div>
<Remove done={done} onClick={() => onRemove(id)}>
<TiDeleteOutline />
</Remove>
</ListItemBlock>
在我写的代码中,我必须单击两次才能删除待办事项,但我想一键删除它。
解决方案
推荐阅读
- node.js - 无法连接到 S3,在 Heroku Express/Node 应用程序上使用 Cloudcube 插件
- php - 如何在我的 json 的每一行中添加一个新值
- python - Python Selenium 抓取不正确的括号集(Python、Selenium、MySQL)
- php - 用于调试 PHP 的控制台(如 Firefox Web 控制台)在哪里?
- css - 仅当在无样式的 HTML 详细信息标签内时,表单元素样式不正确
- bash - 使用git时如何查找所有空文件夹和未跟踪的文件?
- javascript - 如何从 react-geosuggest 中提取邮政编码值?
- javascript - 如何读取通过表单输入的电子邮件地址的域名
- json - 使用cardview在recyclerview中显示json数据
- flutter - 颤振横幅广告不粘在底部