Skip to content

Instantly share code, notes, and snippets.

@NetanelBasal
Last active October 7, 2018 19:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NetanelBasal/96087e4c650c1dff66145f2d45ad1462 to your computer and use it in GitHub Desktop.
Save NetanelBasal/96087e4c650c1dff66145f2d45ad1462 to your computer and use it in GitHub Desktop.
export class AddTodo extends React.PureComponent {
render() {
return (...);
}
}
export class Filters extends React.PureComponent {
render() {
return (
<div>
<span>Show: </span>
<select onChange={this.props.onChange} value={this.props.active}>
<option value="SHOW_ALL">All</option>
<option value="SHOW_ACTIVE">Active</option>
<option value="SHOW_COMPLETED">Completed</option>
</select>
</div>
);
}
}
export class Todo extends React.PureComponent {
onClick = () => this.props.toggleTodo(this.props.id);
onDelete = () => this.props.onDelete(this.props.id);
render() {
return (
<li>
<span onClick={this.toggleTodo}>
{this.props.text}
</span>
<button onClick={this.onDelete}>Delete</button>
</li>
);
}
}
export class TodoList extends React.PureComponent {
toggleTodo = id => this.props.toggleTodo(id);
onDelete = id => this.props.onDelete(id);
render() {
return (
<ul>
{this.props.todos.map(todo => (
<Todo
key={todo.id}
{...todo}
toggleTodo={this.toggleTodo}
onDelete={this.onDelete}
/>
))}
</ul>
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment