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>