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.6.js"></script>
<script src="https://fb.me/react-dom-0.14.6.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<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 transformer = {
  powers: ['jump', 'shoot'],
  config: {
    height: 200,
  },
  isDecepticon: false,
}

class Control extends React.Component {
  render() {
    let value = this.props.model[this.props.attr];

    return (
      <label className="btn btn-primary">
        {this.props.label}
        <input type="checkbox" 
          value={value} 
          onChange={this.props.change}
        />
      </label>
    )
  }
}

class Transformer extends React.Component {
  render() {
    var m = this.props.model
    return (
      <div>
        Powers: {this.props.model.powers.join(', ')}
        <br/>
        Config: {JSON.stringify(this.props.model.config)}
        <br/>
        {this.props.model.isDecepticon && 
          <span>Mission: Kill all Autobots</span>
        }
      </div>
    )
  }
}

class TransformersApp extends React.Component {
  constructor() {
    super()
    this.state = {transformer: transformer};
  }

  render() {
    return (
      <div>
        <Control label='controls' 
          model={this.state.transformer} 
          attr='isDecepticon' 
          change={this.toggleDeception.bind(this)}/>
          
        <Transformer model={this.state.transformer}/>
      </div>
    )
  }

  toggleDeception() {
    var newTransformer = Object.assign({}, this.state.transformer, {
      isDecepticon: !this.state.transformer.isDecepticon
    });
    this.setState({
      transformer: newTransformer
    });
  }
}

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