1

我致力于选择明星的想法,但我遇到了一个问题。这是我的代码:

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>
        );
    }
}

我想当我们按一个时知道按的是什么,我的在一个数组中,我不知道我按的是什么

这是渲染

4

1 回答 1

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>
        );
    }
}
于 2017-10-18T09:29:38.193 回答