Skip to content

Instantly share code, notes, and snippets.

@insin
Last active August 29, 2015 14:25
Show Gist options
  • Save insin/c05ad084fc3079351dba to your computer and use it in GitHub Desktop.
Save insin/c05ad084fc3079351dba to your computer and use it in GitHub Desktop.
{
"scripts": {
"start": "heatpack Todos.js"
},
"devDependencies": {
"react-heatpack": "^1.4.0"
}
}
var React = require('react')
var Todos = React.createClass({
getInitialState() {
return {tasks: [], name: ''}
},
handleChange(e) {
this.setState({name: e.target.value})
},
handleSubmit(e) {
e.preventDefault()
var {tasks, name} = this.state
this.setState({tasks: [...tasks, {name}], name: ''})
},
render() {
return <div className="Todos">
<h3>TODO</h3>
<ul>
{this.state.tasks.map(task => <li>{task.name}</li>)}
</ul>
<form onSubmit={this.handleSubmit}>
<input value={this.state.name} onChange={this.handleChange} required/>
<button>Add task</button>
</form>
</div>
}
})
module.exports = Todos
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment