content: import React from 'react';
  
  export class Home extends React.Component {
  	constructor (props) {
  		super();
  		this.state = {
  			age: props.initialAge,
  			status: 0,
  			homeLink: props.initialLinkName
  		};
  		setTimeout(() => {
  			this.setState({
  				status: 1
  			});
  		},3000);
  		console.log('Constructor');
  	}
  	
  	componentWillMount () {
  		console.log('Component will mount');
  	}
  
  	componentDidMount () {
  		console.log('Component did mount');
  	}
  	
  	componentWillReceiveProps (nextProps) {
  		console.log('Component will receive props', nextProps);
  	}
  
  	shouldComponentUpdate (nextProps, nextState) {
  		console.log('Should Component update', nextProps, nextState);
  		return true;
  	}
  	
  	componentWillUpdate (nextProps, nextState) {
  		console.log('Component will update', nextProps, nextState);
  	}
  	
  	componentDidUpdate (previousProps, previousState) {
  		console.log('Component did update', previousProps, previousState);
  	}
  	
  	componentWillUnmount () {
  		console.log('Component will unmount');
  	}
  
  	onMakeOlder () {
  		this.setState({
  			age: this.state.age + 3
  		});
  	}
  
  	onChangeLink () {
  		this.props.changeLink(this.state.homeLink);
  	}
  	
  	onHandleChange (event) {
  		this.setState({
  			homeLink: event.target.value
  		});
  	}
  
  	render () {
  		return (
  			<div>
  				<p>Your name is {this.props.name}, your age is {this.state.age}</p>
  				<p>Status: {this.state.status}</p>
  				<hr/>
  				<button onClick={() => this.onMakeOlder()} className="btn btn-primary">Make me older!</button>
  				
  				<hr/>
  				<button onClick={this.props.greet} className="btn btn-primary">Greet</button>
  				
  				<hr/>
  				<input type="text" 
  						value={this.state.homeLink} 
  						onChange={(event) => this.onHandleChange(event)}
  				/>
  				<button onClick={(newName) => this.onChangeLink(newName)} className="btn btn-primary">Change Header</button>
        </div>
  		);
  	}
  }
  
  Home.propTypes = {
  	name: React.PropTypes.string,
  	initialAge: React.PropTypes.number,
  	greet: React.PropTypes.func
  };