2017-04-08 20 views
1

私はtable(可変数の行を持つ)のReactアプリを持っています。テーブルの1つのセルでリンクまたはボタンをクリックして、そのリンク/ボタンの親クラスを追加したいと考えています。ここでReactに状態のないクラスを追加しますか?

は、例の行はtableにあります:

<tr> 
    <td>Sample</td> 
    <td className="num">40%</td> 
    <td><a>Accept</a></td> 
</tr> 

私は「同意する」をクリックすると(それが簡単だ場合、または全体tr)、私はnumをする新しいクラスを持つように追加しました。これどうやってするの?私はstateの使用を避けたいと思います。

答えて

3

あなたがこの方法を使用すると、テーブル全体のために一つだけのイベントハンドラを持つことになり、テーブルにイベントをクリックして委任することができます:

<table onClick={this.onClick}> 

その後onClick方法のためにこのようなものを持っている:

onClick(e) { 
    if (e.target.tagName === 'A') { 
    const tr = e.target.parentNode.parentNode 
    tr.classList.toggle('selected') 
    } 
}