changeSong: function(index) {
this.setState({currentSongIndex: index };
}
我需要通過單擊我的div來運行changeSong功能傳球指數作爲參數
var listTemp = data.map(function(item,index) {
var listTemp = data.map(function(item,index) {
return (
<div key={index} className="eachTrack" onClick={this.changeSong({index})}>
<span className="duration">{item.duration}</span>
<a href="#" className="songTemplate" >{item.artist} - {item.track}</a>
</div>
)
}.bind(this))
它只是運行我changeSong功能3倍(如就像我有div元素一樣)。現在它只是在沒有傳遞「索引」參數的情況下運行,也沒有通過點擊事件。
也許你忘了綁定事件處理程序所需的背景?而且,'renderSong'函數在渲染時立即執行,所以除非它本身返回一個函數,否則這也會導致問題。只需將其包裝在箭頭功能中即可。 – oens
我相信@oens是在正確的軌道上。在提交答案後才注意到他的評論,但它可能會說明他所指的是什麼。 – abigwonderful