0

Ich habe ListView-Komponente von React-native verwendet und es zum Rendern von Produktdetails und Bilder verwendet.Nach dem Laden von Bildern auf Bildlauf wird verschwunden reagiert reagieren native

Nun, nach dem Laden der Bilder scrolle ich die Ansicht nach unten. Beim Zurückkehren zu früheren Produkten werden nur Bilder gelöscht und scheinen wieder von der Quelle geladen zu werden.

Die Bildquelle ist eine URL.

Bitte sagen Sie mir, wie kann ich die Bilder beibehalten, die bereits in aktuellen Native Android Bildschirm geladen reagieren.

Ich verwende:

"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" 
    }, 

Aktualisiert-Code als Referenz:

 <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> 
    ) 
} 

Die Antwort von 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 Objekte sind mit Bild u Rls.

+0

Da Sie RN 0.45 verwenden, würde ich FlatList anstelle von ListView empfehlen. Außerdem muss ich deinen Code wirklich sehen, um dir weiter zu helfen. – dejakob

+0

@dejakob Bitte überprüfen Sie die Codes – subhajit

+0

Können Sie console.log in _renderRow hinzufügen und überprüfen, ob es erneut gerendert wird? – dejakob

Antwort

0

Versuchen Sie android:largeHeap="true" unter <application> in Ihrer androidManifest-Datei. Fügen Sie auch die Eigenschaft removeClippedSubviews={true} zu Ihrer scrollView s hinzu.

+0

ok ich werde es versuchen. – subhajit

Verwandte Themen