React Base Fiddle (JSX)

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

by Minjun Kim

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://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.1.8/semantic.min.css">
<script src="https://code.jquery.com/jquery-2.2.2.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.1.8/semantic.min.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<div id="app">
  <!-- This element's contents will be replaced with your component. -->
</div>

CSS

#app {
  margin: 10px;
}

#card {
  margin-top: 10px;
}

JavaScript 1.7

class App extends React.Component {

    constructor(props) {
      super(props);
      this.state = {
        number: 0,
        show: false
      }
    }

    _increase() {
      this.setState({
        number: this.state.number + 1
      });
    }

    _show() {
      this.setState({
        show: true
      });
    }

    _unmount() {
      this.setState({
        number: 0,
        show: false
      });
    }

    render() {
      let component = ( < Card number = {
          this.state.number
        }
        />);
        return ( < div >
          < Button caption = "Show Card"
          customClass = "green"
          onClick = {
            this._show.bind(this)
          }
          /> < Button caption = "Increase Number"
          customClass = "blue"
          onClick = {
            this._increase.bind(this)
          }
          /> < Button caption = "Unmount Card"
          customClass = "red"
          onClick = {
            this._unmount.bind(this)
          }
          /> {
            this.state.show ? component : ""
          } < /div>
        );
      }
    }

    class Button extends React.Component {
      render() {
        let className = "ui button " + this.props.customClass;

        return ( < div onClick = {
            this.props.onClick
          }
          className = {
            className
          } > {
            this.props.caption
          } < /div>

        )
      }
    }

    class Card extends React.Component {
        constructor(props) {
          super(props);
          console.log("constructor");
        }
        componentWillMount() {
          console.log("componentWillMount");
        }

        componentDidMount() {
          console.log("componentDidMount");
        }

        componentWillReceiveProps(nextProps) {
          console.log("componentWillReceiveProps: " + JSON.stringify(nextProps));
        }

        shouldComponentUpdate(nextProps, nextState) {
          console.log("shouldComponentUpdate: "...