yld-react-3

by Sérgio Ramos

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.1/JSXTransformer.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.1/react-with-addons.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration.js"></script>

<div id="container">
    <!-- This element's contents will be replaced with your component. -->
</div>

JavaScript 1.7

var Books = React.createClass({
  render: function() {
    return (
      <table>
        <thead>
          <tr>
            <th>Title</th>
            <th>Read</th>
          </tr>
        </thead>
        <tbody>
          <Book title='Professional Node.js'></Book>
          <Book title='Node.js Patterns'></Book>
        </tbody>
      </table>
    );
  }
});

var state = {
  read: false
};

var Book = React.createClass({
  handleChange: function(ev) {
    window.alert('onChange');
  },
  render: function() {
    return (
      <tr>
        <td>{this.props.title}</td>
        <td><input type='checkbox' checked={state.read} onChange={this.handleChange} /></td>
      </tr>
    );
  }
});

React.render(<Books />, document.getElementById('container'));