React Base Fiddle (JSX)

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

by xufocoder

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="reactContainerElement"></div>

JavaScript 1.7

class Parent extends React.Component {
  constructor() {
    super();
    this.state = {
      propA: 'A',
      propB: 'B'
    };
  }
  mutatePropA() {
    this.setState({
      propA: 'A modified'
    });
  }
  mutatePropB() {
    this.setState({
      propB: 'B modified'
    });
  }
  render() {
    return (
      <div>
        <SiblingA
          myProp={this.state.propA}
          myFunc={this.mutatePropB.bind(this)}
          />
        <SiblingB
          myProp={this.state.propB}
          myFunc={this.mutatePropA.bind(this)}
          />
      </div>
    );
  }
}

class SiblingA extends React.Component {
  render() {
    return (
      <div onClick={this.props.myFunc}>
        My property is {this.props.myProp}
      </div>
    );
  }
}

class SiblingB extends React.Component {
  render() {
    return (
      <div onClick={this.props.myFunc}>
        My property is {this.props.myProp}
      </div>
    );
  }
}

SiblingA.propTypes = {
  myProp: React.PropTypes.string,
  myFunc: React.PropTypes.func
};

SiblingB.propTypes = {
  myProp: React.PropTypes.string,
  myFunc: React.PropTypes.func
};

ReactDOM.render(
  <Parent />,
  document.getElementById('reactContainerElement')
);