为什么平面列表中的图像有时无法渲染?

时间:2019-04-08 18:22:15

标签: ios image react-native rendering react-native-flatlist

我试图修复图像的平面列表,有时在加载屏幕时加载所有图像,有时加载随机数量的图像,我不知道为什么。关于如何使所有图像始终呈现的任何建议?

图片来源来自外部网址。

我已在此问题上添加了gif。它显示了切换屏幕以及每次返回图像的Flatlist网格时所得到的不同结果。

https://imgur.com/HmC3Dvr

我已经尝试过平板列表道具removeClippedSubviews = {true}和{false}。

renderItem = ({ item, index }) => {
  return(
    //console.log(item)
    <TouchableHighlight onPress={this.props.toggleView.bind(this, index)} > 
      <View >
      <Image source={{uri: item.images.thumbnail.url, cache:'force-cache'}} style={styles.item} resizeMode={"resize"}/>      
      </View>
      </TouchableHighlight>
   ) 
 }


render(){
return(
        <FlatList
        ref={(ref) => { this._flatList = ref; }}
        data={this.props.profileMedia}
        onScroll={this.handleScroll}
        renderItem={this.renderItem.bind(this)}
        numColumns={3}
        ListHeaderComponent={this.renderHeader}
        ListFooterComponent={this.renderFooter}
        columnWrapperStyle={{justifyContent: 'flex-start'}}
        contentOffset = {{x: 0, y:this.props.scrollPosition}}
        keyExtractor={item => item.id}
        initialNumToRender={12}
      />
  )
 }

1 个答案:

答案 0 :(得分:0)

尝试检查图像的分辨率,React Native通常遇到大分辨率图像的垃圾回收问题。