Angular Developer's Guide to First React Component

Follow along with my post intended to help Angular developers build their first React component.

by dmitri14

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>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.css">
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<div id="react-app"></div>

JavaScript 1.7

var myTitle = "My Title Component";

var DemoComponent = React.createClass({
  render: function() {
    return (
      <div>
      	I'm a component.
      </div> 
    ); 
  } 
});

var Title = React.createClass({
  render: function() {
    return (
      <h1>{this.props.title}</h1> 
    ); 
  } 
});

var OnOffButton = React.createClass({
	getInitialState: function() {
  	return { value: true }
  },
  handleClick: function() {
  	this.setState({ value: !this.state.value });
  },
	render: function() {
	  return (
	  	<button onClick={this.handleClick}>{this.state.value ? 'On' : 'Off'}</button>
    );
  }
});

var App = React.createClass({
	getInitialState: function() {
  	return {title: this.props.title}
  },
  handleClick: function() {
		this.setState({title: this.state.title + "."});  	
  },
	render: function() {
  	return (
    	<div>
				<Title title={this.state.title} />
				<DemoComponent />
        <br />
        <OnOffButton />
        <br />
        <button onClick={this.handleClick}>Change Title</button>
      </div>
    );
  }
});

ReactDOM.render(<App title={myTitle} />, document.getElementById('react-app'));