Would this todo list benefit from breaking it down into more components? What would be the advantages? Am I breaking any best practices from what is seen here?
var TodoList = React.createClass({
getInitialState: function(){
return {
todos:data,
text:""
};
},
handleChange: function(event){
this.setState({text:event.target.value });
},
submitHandler: function(event){
event.preventDefault();
var todo = this.state.text;
data.push({task:todo});
this.setState({text:""});
$('#input').val("")
},
render: function(){
var rows = [];
this.state.todos.forEach( function(todo, index){
rows.push(<li key={index}>{todo.task}</li>)
});
return(
<div className="well clearfix">
<form onSubmit={this.submitHandler}>
<ul>
{rows}
</ul>
<br />
<input id="input" key={this.state.timestamp} onChange={this.handleChange} type="text" />
<br />
<br />
<button type="submit" className="btn btn-primary" disabled={this.state.text.length === 0}>Submit</button>
</form>
</div>
)
}
});
var data = [
{task:"eat cheese"},
{task:"go to gym"},
{task:"do some yoga"},
{task:"go to sleep"}
];
ReactDOM.render(<TodoList/>, document.getElementById('app') );