Updated with latest version of react boilerplate
This commit is contained in:
55
app/App.js
55
app/App.js
@@ -1,22 +1,55 @@
|
||||
/** @jsx React.DOM */
|
||||
var React = require('react');
|
||||
var Checkboxes = require('./components/Checkboxes.js');
|
||||
var NameThrower = require('./components/NameThrower.js');
|
||||
|
||||
var Store = require('./Store.js');
|
||||
var actions = require('./actions.js');
|
||||
|
||||
var App = React.createClass({
|
||||
getInitialState: function () {
|
||||
return {
|
||||
messages: Store.getMessages(),
|
||||
newMessage: ''
|
||||
};
|
||||
},
|
||||
componentWillMount: function () {
|
||||
Store.addChangeListener(this.changeState);
|
||||
},
|
||||
componentWillUnmount: function () {
|
||||
Store.removeChangeListener(this.changeState);
|
||||
},
|
||||
changeState: function () {
|
||||
this.setState({
|
||||
messages: Store.getMessages()
|
||||
});
|
||||
},
|
||||
addMessage: function (event) {
|
||||
event.preventDefault();
|
||||
var input = this.refs.newMessage.getDOMNode();
|
||||
actions.addMessage(input.value);
|
||||
this.setState({
|
||||
newMessage: ''
|
||||
});
|
||||
},
|
||||
updateNewMessage: function (event) {
|
||||
this.setState({
|
||||
newMessage: event.target.value
|
||||
});
|
||||
},
|
||||
renderMessages: function (message) {
|
||||
return (
|
||||
<div>{message}</div>
|
||||
);
|
||||
},
|
||||
render: function() {
|
||||
return (
|
||||
<div>
|
||||
<h1>Hello world!</h1>
|
||||
<div>
|
||||
<Checkboxes/>
|
||||
</div>
|
||||
<div>
|
||||
<NameThrower/>
|
||||
</div>
|
||||
</div>
|
||||
{this.state.messages.map(this.renderMessages)}
|
||||
<form onSubmit={this.addMessage}>
|
||||
<input ref="newMessage" type="text" value={this.state.newMessage} onChange={this.updateNewMessage}/>
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
module.exports = App;
|
||||
|
||||
Reference in New Issue
Block a user