Skip to content

Instantly share code, notes, and snippets.

@valex
Created October 20, 2018 14:45
Show Gist options
  • Save valex/903c1bcfb9c0acc367559af67f84f955 to your computer and use it in GitHub Desktop.
Save valex/903c1bcfb9c0acc367559af67f84f955 to your computer and use it in GitHub Desktop.
Component PropTypes and defaultProp
<!DOCTYPE html>
<html>
<head>
<title>propTypes</title>
<meta charset="utf-8">
</head>
<body>
<div id="app">
<!-- my app renders here -->
</div>
<script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script>
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/prop-types/15.6.2/prop-types.min.js"></script>
<script type="text/babel">
class Component extends React.Component {
static defaultProps = {
name: 'stranger'
}
render() {
return (
<span>My name is {this.props.name}</span>
);
}
}
Component.propTypes = {
name: PropTypes.string.isRequired
};
ReactDOM.render(
React.createElement(Component, {
name: "Bob",
// name: 123,
}),
document.getElementById("app")
);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment