JSFiddle - React, Tailwind, and code Playground
by sabbin
HTML
<!DOCTYPE html>
<html>
<body>
<script src="https://unpkg.com/[email protected]/umd/react.production.min.js"></script>
<script src="https://unpkg.com/[email protected]/umd/react-dom.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js" charset="utf-8"></script>
<script type="text/babel">
const TodoItem = (props) => <li onClick={props.onClick}>{props.item.text}</li>
class TodoList extends React.Component {
render() {
const { items, onClick } = this.props;
return (<ul onClick={onClick}>
{items.map(item => <TodoItem item={item} onClick={this.handleItemClick.bind(this, item)}/>)}
</ul>);
}
handleItemClick(item, event) {
if(item.done) return false;
}
}
const items = [ { text: 'Buy grocery', done: true },
{ text: 'Play guitar', done: false },
{ text: 'Romantic dinner', done: false }
];
const App = (props) => {
return (
<TodoList
items={props.items}
onItemClick={(item, event) => {
return !item.done ? handleItemClick(item, event) : null;
}}
/>);
const rootElement = document.getElementById("root");
ReactDOM.render(<App items={items}/>, rootElement);
</script>
<div id="root"></div>
</body>
</html>