React Base Fiddle (JSX)

Starting point for creating JSFiddles with React. This uses React with Addons.

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://npmcdn.com/react@latest/dist/react-with-addons.js"></script>
<script src="https://npmcdn.com/react-dom@latest/dist/react-dom.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>

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

JavaScript 1.7

class FooWidget extends React.Component {

  constructor(props) {
    super(props);
    this.handleHover = this.handleHover.bind(this);
    this.state = {
      rect: {}
    };
  }
  
  handleHover() {
    const rect = this.node.getBoundingClientRect();
    this.setState({ rect });
  }
  
  render() {
    return (
      <div>
        <h3
          className="widget"
          onMouseOver={ this.handleHover.bind( this ) }
          ref={node => this.node = node}
        >
          barwidget (hover me)
        </h3>
        <div>
          <p>top: { this.state.rect.top || 'not set' }</p>
          <p>right: { this.state.rect.right || 'not set' }</p>
          <p>bottom: { this.state.rect.bottom || 'not set' }</p>
          <p>left: { this.state.rect.left || 'not set' }</p>
          <p>width: { this.state.rect.width || 'not set' }</p>
        </div>
      </div>
    );
  }

}

ReactDOM.render(
  <FooWidget />,
  document.getElementById('container')
);