以下のコードでは、名前の横にある削除ボタンをクリックしたときに、最終的に組織図である人物を削除しようとしています。現時点では何も起こりません。私が一番近かったのは、削除ボタンのいずれかがクリックされたときに5人が削除されていたのですが、削除された人が削除されただけです。私はReactのエラーよりもJSのエラーを増やしているように感じます。.setState():ボタンクリック時にオブジェクトの配列から人をフィルタリングする
See the full code sandbox here.すべてのヘルプ
をいただければ幸いです、ありがとうございました!
import React from "react";
import { Component } from "react";
const list = [
{
name: "Person 1",
phone: "123-4567",
itemId: 11
},
{
name: "Person 2",
phone: "123-4567",
itemId: 12
},
{
name: "Person 3",
phone: "123-4567",
itemId: 23
},
{
name: "Person 4",
phone: "123-4567",
itemId: 34
},
{
name: "Person 5",
phone: "123-4567",
itemId: 45
}
];
class Entry extends Component {
constructor(props) {
super(props);
this.state = {
list: list
};
this.handleClick = this.handleClick.bind(this);
}
handleClick(e) {
this.setState({
list: this.state.list.filter(function(person) {
return person !== e.target.value;
})
});
}
render() {
return (
<div>
{this.state.list.map(item =>
<tr key={item.itemId}>
<td>
{item.name}
</td>
<td>
{item.phone}
</td>
<td>
<a className="delete" onClick={this.handleClick} />
</td>
</tr>
)}
</div>
);
}
}
export default Entry;
期待しているe.target.valueは何ですか? – Cruiser