React Base Fiddle (JSX)

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

by justindeal

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="app">
    <!-- This element's contents will be replaced with your component. -->
</div>

JavaScript 1.7

const Outer = React.createClass({

  // This render callback is evil. It's bound to `this` which can be
  // mutated. That breaks PureRenderMixin for any components that it is
  // passed to.
  renderMessage(props) {
    return <span>{props.message}</span>;
  },

  render() {
    return (
      <Inner renderMessage={this.renderMessage.bind(this, this.props)}/>
    );
  }
});

const Inner = React.createClass({

  // If you remove this, it will work.
  mixins: [React.addons.PureRenderMixin],

  render() {
    return (
      <span>{this.props.renderMessage()}</span>
    );
  }
});

// This will render fine.
React.render(<Outer message="hello"/>, document.getElementById('app'));
// This will not update anything.
React.render(<Outer message="bye"/>, document.getElementById('app'));