<!DOCTYPE html>
<html>
<head>
<script data-require="react@*" data-semver="15.2.0" src="https://cdnjs.cloudflare.com/ajax/libs/react/15.2.0/react.min.js"></script>
<script data-require="react@*" data-semver="15.2.0" src="https://cdnjs.cloudflare.com/ajax/libs/react/15.2.0/react-dom.min.js"></script>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="app"></div>
<script src="script.js"></script>
</body>
</html>
const withKeyFromProps = (Comp, propName) => (props) => <Comp key={props[propName]} {...props}/>
const TodoItem = (todo) => (
<li>
<input type='checkbox' defaultChecked={todo.isComplete} />
{todo.name}
</li>
)
const TodoDisplay = withKeyFromProps(TodoItem, 'id')
class App extends React.Component {
render() {
return (
<div>
<ul>
{this.props.todos.map(TodoDisplay)}
</ul>
</div>
)
}
}
const todos = [
{id: 1, name: 'Create the initial state', isComplete: true},
{id: 2, name: 'Map over data', isComplete: true},
{id: 3, name: 'Refactor', isComplete: true},
{id: 4, name: 'Use HOC to remove warning', isComplete: false},
]
ReactDOM.render(<App todos={todos} />, document.getElementById('app'))
/* Styles go here */