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://fb.me/react-with-addons-0.14.0.js"></script>
<script src="https://fb.me/react-dom-0.14.0.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

var Button = React.createClass({
  getInitialState: function () {
  	return { color: this.context.color };
  },
  contextTypes: {
    color: React.PropTypes.string
  },
  componentWillReceiveProps(nextProps, nextContext) {
    console.log('nextContext', nextContext);
    this.setState({ color: nextContext.color });
  },
  render: function() {
    return (
      <button style={{background: this.context.color}}>
        {this.props.children} + {this.state.color}
      </button>
    );
  }
});

var Message = React.createClass({
  render: function() {
    return (
      <div>
        {this.props.text} <Button>Delete</Button>
      </div>
    );
  }
});

var MessageList = React.createClass({
  getInitialState: function () {
  	return { color: "red" };
  },
  childContextTypes: {
    color: React.PropTypes.string
  },
  getChildContext: function() {
    return { color: this.state.color };
  },
  lol: function() {
    this.setState({ color: "green" });
  },
  render: function() {
    var children = this.props.messages.map(function(message) {
      return <Message text={message.text} />;
    });
    return <div>
    	<button onClick={this.lol}>Click me to change color</button>
    	{children}</div>;
  }
});

ReactDOM.render(<MessageList messages={[{text: "John"}]} />, document.getElementById('container'));