2017-10-18 2 views
1

Je travaille sur une idée de sélectionner une étoile et je suis bloqué sur un problème. Voici mon code:Exiger() en réaction natif

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

je voudrais quand on presse sur un étoiles savoir ce que étoiles est pressé, mon étoiles s sont dans un tableau et je ne sais pas ce que star J'ai pressé.

it is the rendering

Répondre

1

passer le numéro de l'étoile avec le rappel de clic.

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

Parfait! Je vous remercie ! –