https://facebook.github.io/react/docs/update.htmlDynamische Schlüssel in Update Helfer Unveränderlichkeit für Array
Ich habe eine Update-Funktion, die einen Index zusammen mit dem Ereignis empfängt, um den Wert für das jeweilige Element im Array zu ändern.
Wie bekomme ich index
, um in diesem Szenario als Set-Schlüssel behandelt zu werden, anstatt als behandelt zu werden? Ist es überhaupt möglich?
updateValue: function(index, e) {
var items = React.addons.update(this.state.items, {
index: {
amount: {$set: e.target.value}
}
});
this.setState({
items: items
})
}
Rechts dies jetzt offensichtlich nicht funktioniert, weil es this.state.items['index']['amount']
zu aktualisieren ist versucht, die nicht gesetzt ist, wenn ich könnte this.state.items[1]['amount']
für einen Index von 1.
Vielen Dank für die ausführliche Antwort. Ich benutze den Edelstein [react-rails] (https://github.com/reactjs/react-rails) und obwohl ich das Harmony-Flag wie dokumentiert aktiviert habe und dafür sorge, dass die [berechnete Eigenschaft Transformation unterstützt wird] (https: // github .com/facebook/jstransform/blob/master/visitors/es6-object-computed-property-visitors.js), bekomme ich diesen Fehler 'Uncaught SyntaxError: Unexpected token [', also bleibe ich bei der Hilfsmethode bis sie schicke es mit Babel. – tirdadc
Ich bin durch das Beispiel der Hilfsfunktion verwirrt. 'this.state.items' ist ein Array und Sie aktualisieren es auf' {1: {betrag: $ set: e.target.value}} '. Ich lerne immer noch, wie das Update-Addon funktioniert, aber scheint mir, das sollte nicht funktionieren. Angenommen, es funktioniert irgendwie, hätte er nicht einfach 'update (this.state.items [index], {betrag: {$ set: e.target.value}})' '? Hat update einen speziellen Fall für Arrays, der dies ermöglicht? – crush