我正在从 api 响应映射数据并从中渲染多个 div。与此同时,我从响应中为每个 div 的 id 属性分配一个唯一的 id,如下所示:
...lists.map(list => {
return (
<div className='one' key={list.id} id={list.id} onClick={this.handleClick}>
<div className='two'>
<p>Hello World</p>
<span>Foo Bar</span>
</div>
</div>
)
})
handleClick = (e) => {
console.log(e.target.id)
// other stuff
}
问题:
每当className='one'单击外部 div ( ) 时,控制台都会记录未定义的日志。但是,如果我将 id 值分配给内部 div ( className='two') 它仅当在内部 div 的尺寸内进行点击时才记录 id 的值。<span>和<p>标签的情况也是如此。
基本上, onClick 在单击不同的 html 元素时返回不同的目标。
预期结果:
单击父 div 或该 div 内的任何位置应始终返回父 div 的 id 属性值。