Dizideki nesneler için girdi öğeleri koleksiyonu oluşturur.Girdinin onChange işleyicisine birden çok parametre iletme
changeRangeName: function (event) {
var newName = event.target.value;
},
ama bu işleyicisinde ben değiştirmek istiyorum aralığı nesnesinin id gerekir:
render: function() {
var ranges = [];
this.props.ranges.map(function(range, index) {
var rangeElement = <Input type="text"
value={range.name} onChange={this.changeRangeName.bind(this)} />
ranges.push(rangeElement);
}, this);
// render ranges
}
bu beni onChange işleyici işlevi yazmasına olanak tanır. Bu yüzden ben fonksiyonunu ve değişim işlemek giriş öğeleri oluşturmak nasıl değişiklik değişebilir:
var rangeElement = <Input type="text"
value={range.name}
onChange={this.changeRangeName.bind(this, range.id)} />
Şimdi benim işleyicisi parametre olarak range.id alacaksınız ama şimdi newName değeri yok.
var rangeElement = <Input type="text"
ref={'range' + range.id}
value={range.name}
onChange={this.changeRangeName.bind(this, range.id)} />
Buradaki tek çözüm budur, ancak daha iyi olduğunu sanıyorum.
Sadece merak ediyorum, bir özellik içinde React içinde bir anti desen bağlamak değil mi? – user2891491