Skip to content

Instantly share code, notes, and snippets.

@NeuTrix
Created May 29, 2017 16:54
Show Gist options
  • Select an option

  • Save NeuTrix/fc13b9257397a0afe40f78eccf547f4e to your computer and use it in GitHub Desktop.

Select an option

Save NeuTrix/fc13b9257397a0afe40f78eccf547f4e to your computer and use it in GitHub Desktop.
React: Prop Types example
var React = require('react');
var Runner = React.createClass({
propTypes: {
message: React.PropTypes.string.isRequired,
style: React.PropTypes.object.isRequired,
isMetric: React.PropTypes.bool.isRequired,
miles: React.PropTypes.number.isRequired,
milesToKM: React.PropTypes.func.isRequired,
races: React.PropTypes.array.isRequired
},
render: function () {
var miles = this.props.miles;
var km = this.props.milesToKM(miles);
var races = this.props.races.map(function(race, i){
return <li key={race + i}>{race}</li>;
});
return (
<div style={this.props.style}>
<h1>{this.props.message}</h1>
{ this.props.isMetric &&
<h2>One Time I Ran {km} Kilometers!</h2> }
{ !this.props.isMetric &&
<h2>One Time I Ran {miles} Miles!</h2> }
<h3>Races I've Run</h3>
<ul id="races">{races}</ul>
</div>
);
}
});
// for Stateless functions...
var React = require('react');
function GuineaPigs (props) {
var src = props.src;
return (
<div>
<h1>Cute Guinea Pigs</h1>
<img src={src} />
</div>
);
}
GuineaPigs.propTypes = {
src: React.PropTypes.string.isRequired
};
module.exports = GuineaPigs;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment