2016-06-18 13 views
1

Dieser Code rerender soll nach dem rerender in den Zustand zu aktualisieren, aber das ist nicht passiert leider ist es nicht der FallsetState von reagieren nicht

die @state erfolgreich aktualisiert, aber die rerender ist fehlende

in Daten [key] .data ist ein Array von Objekten, die Wenn @state, sein, dass reagieren würde meine beste Wette dann einmal erfolgreich aktualisiert wird, um Array Zustand [key]

$.get url, {t: key, o: @state[key].length, l: @state[key].length + @state.defaultAmount}, (data) => 
    if key == "allScores" 
    data.allScores = data.allScores.data[@props.currentMode] 
    $.each data[key].data, (i, o) => 
    @setState (state) => 
     result = {} 
     result[key] = state[key].concat(o) 
     result 
+0

Sind Sie sicher, dass Sie setState korrekt aufrufen? Es sieht so aus, als ob Sie eine Callback-Funktion verwenden, nachdem der Status gesetzt wurde, um Ihr Ergebnisobjekt zu erstellen. –

+0

Ich glaube, Sie verlieren Ihren "this" -Wert innerhalb der '$ .each' und' $ .get'. Ich kenne kein coffeescript, aber Sie müssen wahrscheinlich einige 'this's binden – jaybee

Antwort

0

hinzugefügt wird sieht keine Änderung in @state Werte zum Auslösen einer re-render.

Untersuchen Sie die Werte der Eigenschaften von @state, um festzustellen, ob tatsächlich eine Änderung vorliegt.