我正在研究精选明星的想法,但遇到了问题。
这是我的代码:

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


我想当我们按下恒星以知道按下了哪个恒星时,我的恒星处于阵列中,而我不知道按下了哪个恒星。

javascript - 响应中的Require()-LMLPHP

最佳答案

通过点击回调传递星号。

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

08-26 07:50