【发布时间】:2019-07-04 08:57:57
【问题描述】:
我有点卡在过滤待办事项列表上,最终目标是删除已完成的待办事项。
我成功地将deleteTodo() 方法传递给子组件Todo,并且还成功检索了待删除的index。
但是,我尝试继续前进并使用filter 方法来过滤Todos 列表并过滤掉已删除的(我不想使用切片,而是使用filter() 练习),但我是使用失败。
我有 2 个文件,App.js 和子组件 ToDo.js
谢谢!
App.js(完整代码:https://codeshare.io/24n7Yj)
deleteTodo(index) {
const todos = this.state.todos.filter();
const todo = todos[index];
this.setState({ todos: todos });
}
ToDo.js
import React, { Component } from 'react';
class ToDo extends Component { //define a class that extends Component
render() {
return (
<li>
<input type="checkbox" checked={ this.props.isCompleted } onChange={ this.props.toggleComplete } />
<span>{ this.props.description }</span>
<button onClick ={this.props.deleteTodo}>Delete</button>
</li>
);
}
}
export default ToDo; //the component is made to export the data
【问题讨论】: