Я начал изучать Реакт, и я ударил первую стену.Реакция, добавление компонентов в компонент
У меня есть компонент списка, который должен отображать список строк + кнопку для добавления новой строки.
Все в этих 2 гов:
https://gist.github.com/matiit/7b361dee3f878502e10a
https://gist.github.com/matiit/8bac28c4d5c6ce3993c7
Метод addRow выполняется по щелчку, потому что я могу увидеть console.log, но не InputRows не добавлены.
Не может понять, почему.
Это немного обновленный (грязный) код, который тоже не работает. Теперь это только один файл:
var InputList = React.createClass({
getInitialState: function() {
return {
rowCount: 1
}
},
getClassNames: function() {
if (this.props.type === 'incomes') {
return 'col-md-4 ' + this.props.type;
} else if (this.props.type === 'expenses') {
return 'col-md-4 col-md-offset-1 ' + this.props.type;
}
},
addRow: function() {
this.state.rowCount = this.state.rowCount + 1;
this.render();
},
render: function() {
var inputs = [];
for (var i=0;i<this.state.rowCount; i++) {
inputs.push(i);
}
console.log(inputs);
return (
<div className={ this.getClassNames() }>
{inputs.map(function (result) {
return <InputRow key={result} />;
})}
<div className="row">
<button onClick={this.addRow} className="btn btn-success">Add more</button>
</div>
</div>
);
}
});
Отлично, этот работает. Спасибо. – matiit