React Base Fiddle (JSX)

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

by sstur

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

JavaScript 1.7

var container = document.getElementById('container');

var UIThing = React.createClass({

    getInitialState: function() {
        return {numClicks: 0};
    },
    
    render: function() {
        return (
        <div>
            <Output numClicks={this.state.numClicks} />
            <div>
                <button onClick={this._onClick}>Click Me</button>
            </div>
        </div>
        );
    },
    
    _onClick: function() {
        this.setState({
            numClicks: this.state.numClicks + 1
        });
    }

});

var Output = React.createClass({
    propTypes: {
        numClicks: React.PropTypes.number.isRequired
    },
    componentWillMount: function() {
        console.log('old', undefined);
        console.log('new', JSON.stringify(this.props));
    },
    componentWillReceiveProps: function(newProps) {
        console.log('old', JSON.stringify(this.props));
        console.log('new', JSON.stringify(newProps));
    },
    render: function() {
        return <div>You've clicked {this.props.numClicks} times</div>;
    }
});
 
React.render(<UIThing />, container);