TypeError: this.props.deleteItem is not a function

TypeError: this.props.deleteItem is not a function

我有 2 个组件,一个用于待办事项列表,另一个用于待办事项表单 在 todo 表单组件中,我想将 deleteItem 函数从 TodoForm 组件传递到 todo 列表项组件,但是我总是收到该错误 TypeError: this.props.deleteItem is not a function

class Todo extends Component {
  constructor(props) {
    super(props);
    this.state = {
      todoList: [],
      newItem: "",
      newDescription: "",
      chkbox: false,
    };
  }
  deleteItem = (id) => {
    const todoList = this.state.todoList.filter(function (item) {
      return item.id !== id;
    });
    this.setState({ todoList });
  };
 render() {
    return (
      <div className="Todo">
        <form id="to-do-form" onSubmit={this.addItem}>
          .....
          <button type="submit">Add</button>
        </form>
        <ListItems
          items={this.state.todoList}
          deleteItem={this.state.deleteItem}
        ></ListItems>
      </div>
    );
  }
}

export default Todo;

在我使用的待办事项列表项组件中 this.props.deleteItem

class ListItems extends Component {
  render() {
    const list_items = this.props.items;
    return (
      <div>
        <ul>
          {list_items.map((item) => {
            return (
              <li className="list-item" key={item.id}>
                ....
                <button
                  onClick={() => {
                    if (
                      window.confirm(
                        "Are you sure you wish to delete this item?"
                      )
                    )
                      this.props.deleteItem(item.id);
                  }}
                >
                  <i className="material-icons">x</i>
                </button>
              </li>
            );
          })}
        </ul>
      </div>
    );
  }
}

export default ListItems;

deleteItem 不是一个状态。只需像这样将道具传递给 ListItems

    <ListItems
      items={this.state.todoList}
      deleteItem={this.deleteItem}
    ></ListItems>