为什么'我'不增加for循环?

时间:2019-05-10 08:18:32

标签: react-native

imageUrl数组中的我的数据。我不使用for循环加载它。

loadImage() {
    console.log('before', this.state.imagesUrl);

    if (this.state.imagesUrl !== undefined && this.state.imagesUrl.length !== 0) {

        console.log('after', this.state.imagesUrl);
        const  n = this.state.imagesUrl.length;
        console.log('length' , n);
        for ( let  i = 0 ; i < n ; i++) { 
            // i = i + 1
            console.log('element', i, this.state.imagesUrl[i]);
            return (
                    <Image
                    source={{ uri: this.state.imagesUrl[i] }}
                    style={{ width: 45, height: 45, marginLeft: 2, marginTop: 2, marginRight: 2, borderRadius: 10 }}
                    />
            )


        }
    }
}

1 个答案:

答案 0 :(得分:0)

loadImage格式使用ES6: 更改:

loadImage(){
        // ...
}

至:

loadImage = () => {
    // ...
} 

然后,您必须推送到一个数组:

let arr = [] // empty array
for ( let  i = 0 ; i < n ; i++) {
    // ...
    arr.push(
        <Image
            source={{ uri: this.state.imagesUrl[i] }}
            style={{ styles.Image }} // your styles
         />
    )
}
this.setState(arr)

,然后在您的jsx中:

render(){
    let {arr} = this.state
    return(
        <View>
            {arr}
        </View>
    )
}