Ich habe nach einer Lösung für dasselbe Problem gesucht und bin auf diesen Thread und einige andere gestoßen, die jedoch dasselbe Problem hatten: Wenn Sie versuchen, eine handleOnChange
Funktion auszuführen und den Wert aus einem Ereignisziel benötigen, erhalten Sie die Fehlermeldung kann die Eigenschaft value von null nicht lesen
oder einen ähnlichen Fehler. In meinem Fall musste ich auch den Kontext von this
in der gedeckelten Funktion beibehalten, da ich eine Fluxible-Aktion ausführe. Hier ist meine Lösung, sie funktioniert gut für meinen Anwendungsfall, also lasse ich sie hier, falls jemand auf diesen Thread stößt:
// am Anfang der Datei:
var meineAktion = require('../actions/someAction');
// innerhalb von React.createClass({...});
handleOnChange: function (event) {
var wert = event.target.value;
var doAction = _.curry(this.context.executeAction, 2);
// nur ein Parameter wird in die gedeckelte Funktion übergeben,
// sodass die als erster Parameter an _.curry() übergebene Funktion
// erst dann ausgeführt wird, wenn der zweite Parameter übergeben wird
// was im nächsten Funktion geschieht, die in _.debounce() eingewickelt ist
debouncedOnChange(doAction(meineAktion), wert);
},
debouncedOnChange: _.debounce(function(aktion, wert) {
aktion(wert);
}, 300)