Require() в реакции на нативный
Я работаю над идеей выбора звезды и застрял в проблеме. Вот мой код:
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>
);
}
}
Я хотел бы, чтобы мы нажимали на звезду, чтобы знать, какая звезда нажата, мои звезды находятся в массиве, и я не знаю, на какую звезду я нажал.
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>
);
}
}