问题是当您
onClick在
topMost父项上定义时,您需要使用
e.currentTarget.id而不是,
e.target.id因为
e.target它将为您提供您单击的元素,而不是
onClick定义了侦听器的父项
class App extends React.Component {state = { lists: [{id: 1}, {id: 2}, {id:3}]}render() { return ( <div> {this.state.lists.map(list => { console.log(list.id) 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> ) }) } </div> )}handleClick = (e) => { console.log(e.currentTarget.id) // other stuff}}ReactDOM.render(<App/>, document.getElementById('app'));<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.js"></script><div id="app"></div>


