To dynamically synchronize your inputs with your state array, you can use someting with the name linkStatefrom the react-catalyst package . Once you have installed it using npm, you can use it as follows:
import Catalyst from 'react-catalyst';
ElementsClass = React.createClass({
mixins : [Catalyst.LinkedStateMixin],
getInitialState: function() {
return {
elements: []
}
},
addElement: function() {
var element = {
name: ""
};
this.state.elements.push(element);
this.setState({
elements : this.state.elements
});
},
render() {
return (
{this.state.elements.map(function (element, i) {
return <input valueLink={this.linkState('elements.'+i+'.name')} />
}
)}
)
}
, react-catalyst, , React valueLink , elements. , , , , .
: , , . - ( ):
{this.state.elements.map(function (element, i) {
return <input valueLink={this.linkState('elements.'+i+'.name')} key={'elinput' + i} />
}
)}
, .