Janardhanam Julapalli Ответов: 1

Цикл Javascript использует только последнее значение


let stars = [];
    // Loop 5 times
    for (var i = 1; i <= 5; i++) {
      // set the path to filled stars
      let path = require('./star-filled.png');
      if (i > this.state.cRating) {
        path = require('./star-unfilled.png');
      }
      stars.push((<TouchableHighlight onPress={ _ => this._RateApp(i) }><Image style={styles.image} source={path} /></TouchableHighlight>));
    }


В
this._RateApp(i)
функция, я получаю значение i как 6 для всех изображений.Пожалуйста объяснить.

Что я уже пробовал:

closures - имея дело с циклами в javascript, затрагивается только последний элемент? - переполнение стека[^]