0

我已經使用來自react-native的ListView組件並用它來呈現產品細節和圖像。在滾動圖像上加載圖像後,消失反應本機

現在,在加載圖像後,我向下滾動視圖。在回到以前的產品時,只有圖像消失,似乎從源頭重新加載。

圖片來源是一個URL。

請告訴我如何堅持已經加載的圖像在當前反應原生android屏幕上。

我使用:

"dependencies": { 
    "react": "16.0.0-alpha.12", 
    "react-native": "0.45.1", 
    "react-native-keyboard-aware-scroll-view": "^0.2.9", 
    "react-native-vector-icons": "^4.2.0", 
    "react-navigation": "^1.0.0-beta.11" 
    }, 

更新的代碼以供參考:

 <ListView 
     renderRow={this._renderRow.bind(this)} 
     dataSource={this.state.dataSource} 
     pageSize={data.length}/>  
    </View> 

_renderRow(data){ 
    return (
      <View style={styles.boxContainer}> 
       <Image 
        style={styles.image} 
        resizeMode={'contain'} 
        source={{uri: "https://vesyl.in/"+data.image_url}} 
       /> 
      </View> 
     </View> 
    ) 
} 

從API響應:

data = []; 
    for(let i=0; i<responseJson.data.length; i++){ 
    var t = responseJson.data; 
    data.push(t[i]); 
    } 

const ds = new ListView.DataSource({rowHasChanged: (r1, r2)=>r1!==r2}); 
this.setState({dataSource: ds.cloneWithRows(data)}); 

data.image_url是含有圖像對象ü RLS。

+0

由於您使用的是RN 0.45,我建議使用FlatList而不是ListView。除此之外,我真的需要查看您的代碼才能進一步幫助您。 – dejakob

+0

@dejakob檢查代碼請 – subhajit

+0

可以在_renderRow中添加console.log並檢查它是否被重新渲染? – dejakob

回答

0

嘗試android:largeHeap="true"根據<application>在您的androidManifest文件中。 此外,請將removeClippedSubviews={true}添加到您的scrollView中。

+0

好的,我會嘗試。 – subhajit