React state. PropTypes
by Artem
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://npmcdn.com/react@latest/dist/react-with-addons.js"></script>
<script src="https://npmcdn.com/react-dom@latest/dist/react-dom.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
JavaScript 1.7
var Hello = React.createClass({
propTypes: {
name: React.PropTypes.string.isRequired,
age: React.PropTypes.number
},
getDefaultProps: function() {
return {
name: 'Anonymous'
};
},
getInitialState: function() {
return {
text: 'Hello'
};
},
handleChange: function(e) {
let newText = e.target.value;
this.setState({text: newText});
},
render: function() {
return <div>Hello, my name is {this.props.name}. I'm {this.props.age}.<br/>
<input type="text" onChange={this.handleChange}/><br/>
{this.state.text}
</div>;
}
});
ReactDOM.render(
<Hello age={123} />,
document.getElementById('container')
);