我研究选择明星的想法,我遇到了问题。 这是我的代码:
export default class Star extends Component {
render() {
var starArray = [];
var i;
for (i = 0; i < 4; ++i) {
if (i < this.props.value) {
imageSource = this.props.fullStar;
} else {
imageSource = this.props.emptyStar;
}
starArray.push(
<View key={i}>
<TouchableHighlight onPress={() => console.log("etoile : "+this.key)}>
<Image source={imageSource} style={{width: 25, height: 25}}/>
</TouchableHighlight>
</View>
);
}
return (
<View style={Styles.container}>
{starArray}
</View>
);
}
}
我希望当我们按下明星以了解明星被按下时,我的明星是在一个阵列中我不喜欢我不知道我按下了什么明星。
答案 0 :(得分:1)
通过点击回调传递星号。
export default class Star extends Component {
handleClick(i){
console.log("star number " + i);
}
render() {
var starArray = [];
var i;
for (i = 0; i < 4; ++i) {
if (i < this.props.value) {
imageSource = this.props.fullStar;
} else {
imageSource = this.props.emptyStar;
}
starArray.push(
<View key={i}>
<TouchableHighlight onPress={this.handleClick.bind(this,i)}>
<Image source={imageSource} style={{width: 25, height: 25}}/>
</TouchableHighlight>
</View>
);
}
return (
<View style={Styles.container}>
{starArray}
</View>
);
}
}