react.jsの勉強をしているのでが、clickイベントの扱いがいまいち理解することが出来ません。
例えば以下のようなコードです。
js
1render : function() { 2 var items = this.props.itemList.map((item) => { 3 return <div onClick={this.choiceDiv(key)} key={item.id}> 4 <div className="caption_top"> 5 <span>{item.title}</span> 6 </div> 7 <div className="caption_bottom"> 8 <span>{item.author_name}</span> 9 <span><i className="glyphicon glyphicon-upload"></i>{item.last_update}</span> 10 </div> 11 </div> 12 }); 13 return ( 14 <div> 15 {items} 16 </div> 17 ); 18 }, 19 choiceDiv : function(e) { 20 console.log(e.target); 21 },
一番外側のdivでonclickを発火しているのですが、choiceDivに渡されるeのtargetはonclickイベントをしかけていない子要素になります。
子要素にもonclickが仕込んでありバブリングがとかならまだ分かるのですが、そもそもonclickをしかけていない子要素が
choiceDivのeに設定される理由がよく分かりません。
勿論内側は内側でリンクやボタンを設定してイベントを作る可能性も今後あるのですが、とりあえず目先ちゃんとイベントをしかけた要素が取得出来るようにしたいと考えております。
reactの初歩的な質問で恐縮ですが、ご存知の方がいらしたらご教授願います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/03 15:16
2016/04/03 16:03
2016/04/05 14:37