2017-10-18 18 views
1

私は選択星のアイデアに取り組んでいます。問題に固執しています。 sが配列していると私は何を知らない私たちはスターが押されたかを知るためにに押したときに反応したネイティブで()を返す

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

は私が望む、私のスター: は、ここに私のコードですstar私は押しました。

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

パーフェクト!ありがとうございました ! –

関連する問題