Ich habe den folgenden Code in einer reagieren Komponente:SetTimeout Verwendung in setState Rückrufe
calcTime: function() {
time = <some time dependant value>
this.setState({
total_time: time
}, window.setTimeout(this.calcTime, 1000));
}
Dies funktioniert gut, außer dass, während es läuft ich die folgende Ausnahme in der Konsole sehen:
Uncaught Error: Invariant Violation: enqueueCallback(...): You called
setProps
,replaceProps
,setState
,replaceState
, orforceUpdate
with a callback that isn't callable.
Ich dachte anfangs, dass dies auf die setTimeout-Funktion zurückzuführen ist, also habe ich das in eine andere Funktion extrahiert und diese als Callback-Methode hinzugefügt. In diesem Fall hat render
die Aktualisierungen für das DOM nicht mehr angezeigt.
Wie soll ich das richtig machen?