2017-01-17 2 views
0

Ich versuche gerade, eine Liste von Podcasts aus der iTunes API in einer Liste darzustellen und alle auf meiner Seite anzuzeigen.Render-Text in einem zugeordneten Array melden

Hier ist mein Code: https://gist.github.com/JelaniThompson/bd5d9127b80641b4483b9273f97df289

auf der Leitung 24, ich meine Anzeige variabel definieren und machen es dann in der return-Anweisung, aber es wird nicht angezeigt. Wenn ich jedoch denselben Wert für die Konsole melde, werden alle Anzeigenamen angezeigt.

Was wäre der richtige Weg, um meine Array-Werte auf der Seite anzuzeigen?

Antwort

0

Sicher wird es nicht! und das ist, weil Vornamen ein leeres Array ist!

Lösung:

1- Fügen Sie diese auf die Klasse und entfernen Sie Namen, Bilder und Zusammenfassungen aus dem Anfang der Datei:

constructor(props){ 
    super(props) 
    this.state = { 
    names : [], 
    images : [], 
    summaries : [] 
    } 
} 

2- Rufdaten im Konstruktor holen und es entfernen von der Methode machen (sollten Sie irgend etwas nicht tun, die render innerhalb nennt, wird eine Endlosschleife am Ende mit!):

constructor(props){ 
      super(props) 
      this.state = { 
      names : [], 
      images : [], 
      summaries : [] 
      } 

      let that = this 
      fetch(topFifty).then(function(response) { 
        return response.json().then(function(json) { 
         let names = [], images = [], summaries = [] 
         json.feed.entry.forEach(function(datum) { 
          names.push(datum["im:name"].label) 
          images.push(datum["im:image"][0].label) 
          summaries.push(datum.summary.label) 
         }) 
         that.setState({names:names, 
             images: images, 
             summaries: summaries}) 
        }) 
      }) 
    } 
+0

Hmm, das gibt 'Typeerror: nicht lesen kann Eigenschaft‚setState‘undefinierter 'Gibt es ab Auf welche Weise könnte ich den Staat verwalten? –

+0

ok behoben, beachten Sie das Ersetzen von this.setState durch that.setState und das Hinzufügen let that = this .... – challenger

Verwandte Themen