私はReact JSでテーブルデータをレンダリングしていますが、子の「削除」ボタンをクリックしてテーブル行を非表示にすることができません。私の現在のハンドラと機能をレンダリングし、次のようになりますReact JSで子「削除」ボタンをクリックしたときに親テーブルの行を削除するにはどうすればよいですか?
...
changeHandler: function(e) {
...
},
deleteHandler: function(e) {
e.currentTarget.closest("tr").style.visibility = "hidden";
},
render: function() {
return (
<div>
<div class="container">
<select onChange={ this.changeHandler.bind(this) }>
<option></option>
...
</select>
<table>
<thead>
<tr>
...
</tr>
</thead>
<tbody>
{data.map(function(row, j) {
return <tr key={j}>
<td>{row.text}</td>
<td><a href="" onClick={this.deleteHandler.bind(this, j)}>delete</a></td>
</tr>
}
)}
</tbody>
</table>
</div>
</div>
);
}
...
私は削除アンカーをクリックすると、私はコンソールにこのエラーが表示されます。
Uncaught TypeError: Cannot read property 'bind' of undefined
なぜ私の削除ハンドラISN私は理解していません私が使用しているchangeHandlerが認識されバインドされていない場合、このイベントをハンドラに当てる方法と親Trを隠すようにターゲットを設定する方法を教えてください。
たちはコードや小さなチャンク=> codepenの多くを得ることができますか?あなたはフォークできるes6ペンがあります... bind(null、j)を試してみませんか?暗いw/oの例で文字通り撮影。 – Mintberry
これには、削除ハンドラを実装したもののすべてが実装されています。 – kurofune
try [このリンク](https://jsfiddle.net/ssbdnbw8/12/) – kurofune