【发布时间】:2020-04-06 17:13:55
【问题描述】:
每个人。在这里提问的新手,虽然我经常用它来寻找答案。我的问题是这样的:
我有一个“待办事项”应用程序。我可以添加、删除和标记完成的项目。但是,我正在努力解决的是用于查看不同项目的过滤器(查看全部、仅活动和仅已完成)。
我已经围绕按钮和单击事件构建了所有内容,但我似乎无法弄清楚如何实际显示所需的执行项目。单击按钮会返回 todo.filter 不是函数的错误,因此我显然在当前解决方案的某个地方离开了左侧字段。
这是我用来尝试过滤数组并仅显示布尔完成的待办事项的代码:true。
filComplete = id => {
this.setState({
todos: this.state.todos.map(todo => {
let comTodo = todo.filter(todo => todo.completed = true);
return comTodo;
})
})
}
根据我自己的理解,我将所有已完成的待办事项映射到一个新数组以进行显示,但我显然没有做对。
todo 是每个单独的待办事项。 todos 是待办事项的数组。 id 是 todo.id 的键。
提前致谢。
【问题讨论】:
-
仅
filter而不是map。 -
=是分配。 -
视图过滤器不应该修改任何状态,首先。
-
澄清一下,
todo.filter(todo => todo.completed);应该可以工作。不需要地图。
标签: javascript reactjs