2017-10-18 165 views
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> 
     ); 
    } 
} 

當我們按下一個明星知道星級按下我想,我的星級 s爲在陣列中,我不知道是什麼明星我按了。

it is the rendering

回答

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

完美!謝謝 ! –