在React中删除对象实例:“ car”返回未定义

时间:2019-03-11 15:04:29

标签: reactjs

我正在尝试更新我的应用程序,以便所显示的每辆汽车都带有删除按钮,该按钮将在单击后将其从数据库中删除。

在我的deleteButton组件中,有以下内容给我错误消息car is not defined

import React from 'react';

class DeleteButton extends React.Component {
constructor() {
    super();
        this.state = {
        };
        this.handleClick = this.handleClick.bind(this);
}

delete(car){
    const data = this.state.data.filter(i => i.id !== car.id)
    this.setState({data})
  }

render() {
    const label = 'Delete';
        return (
            <button className="delete-btn" onClick={this.delete.bind(this, car)}>{label}</button>
        );
    }
}

export default DeleteButton;

我应该如何定义car

1 个答案:

答案 0 :(得分:0)

1。。您需要将汽车置于这种状态:

    this.state = {
      car: {
        id: ''
      },
    };

但是问题是数据,您需要提供数据作为“删除组件”的道具。

然后从道具获取数据而不是从状态获取数据。

2。。然后onDelete函数更新状态:

delete(car){
    const data = this.props.data.filter(i => i.id !== car.id)
    this.setState({car: data})
  }