diff --git a/app/App.js b/app/App.js new file mode 100644 index 0000000000..bb71e66781 --- /dev/null +++ b/app/App.js @@ -0,0 +1,55 @@ +/** @jsx React.DOM */ +var React = require('react'); +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 ( +