React Native - 选择可触摸的高光

时间:2016-02-23 00:29:18

标签: javascript react-native

只是尝试获取按下的可触摸突出显示的当前索引。由于某种原因,它只返回数组中的最大数字。有什么想法吗?

render: function() {
    var images = [], i = 0;

    for(i=0; i<this.props.picturesList.length; i++){
        var currentIndex = i;
        images.push(
            <TouchableHighlight
                key={'c' + i}
                onPress={() => this._handleItemTouch(currentIndex)}>
                    <Image
                        style={styles.image}
                        source={{uri: this.props.picturesList[i]}} />
            </TouchableHighlight>
        );
    }
},
_handleItemTouch: function(index) {
  console.log(index);
}

1 个答案:

答案 0 :(得分:6)

尝试使用let声明currentIndex变量。我一直递增到数组+ 1中的最后一个值,让我们将变量的范围扩展到循环上下文中的值:

for(var i=0; i <this.props.picturesList.length; i++){
        let currentIndex = i;
        images.push(
            <TouchableHighlight
                key={'c' + i}
                onPress={() => this._handleItemTouch(currentIndex)}>
                    <Image
                        style={styles.image}
                        source={{uri: this.props.picturesList[i]}} />
            </TouchableHighlight>
        );
    }
},

我设置了一个演示here