2 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
在這一行中onStarPress = {(starIndex) => {this.onStarPress(starIndex)}},第一個(gè)starIndex是事件處理對(duì)象。onStarPress接收對(duì)象也是如此。
有兩種方法可以解決此問(wèn)題:
onStarPress = (e,index) => {
console.warn('e = ' + e);
console.warn('index = ' + index);
this.setState({
selectedStar: index
});
}
renderStars = () => (
this.starsArray.map((starIndex, i) => (
<Star
key={i}
color={this.defineStarColor(starIndex)}
onStarPress={(e) => { this.onStarPress(e,starIndex) }}
/>
))
)
其他方式是:
onStarPress = (index) => (e) => {
console.warn('e = ' + e);
console.warn('index = ' + index);
this.setState({
selectedStar: index
});
}
renderStars = () => (
this.starsArray.map((starIndex, i) => (
<Star
key={i}
color={this.defineStarColor(starIndex)}
onStarPress={this.onStarPress(starIndex)}
/>
))
)
添加回答
舉報(bào)