有人可以告訴我如何檢索data-custom
屬性值,如果我點擊紅色方塊?我不想放置在兒童相同的屬性,因爲它得到詳細如果我有更深的嵌套元素&。如何在用戶點擊子元素時檢索屬性值?
class Example extends React.Component {
constructor(props){
super(props)
this.onClick = this.onClick.bind(this)
}
render(){
return (
<div className="large-box" data-custom="iExist" onClick={this.onClick}>
<div className="box red"></div>
</div>
)
}
onClick(e){
console.log(e.target.getAttribute('data-custom'))
}
}
ReactDOM.render(<Example />,document.getElementById('app'))
.large-box {
display:flex;
width:200px;
height:100px;
border:1px solid black;
}
.box {
margin:auto auto;
width:40px;
height:40px;
}
.red{background-color:red;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
爲什麼不直接將值傳遞給'onClick'函數? 'onClick = {this.onClick.bind(this,'custom-value')}' – bennygenel
我已經讀過它的糟糕做法,因爲它每次創建新函數都會反應渲染函數,這會導致性能問題。我想知道我應該關心性能多少,因爲綁定或使用'()=> {}'函數聽起來就像是簡單的方法。 –