return { messages: MessageStore.getMessages() }; }, ! componentDidMount: function() { MessageStore.on('change', this._onChange); }, ! componentWillUnmount: function() { MessageStore.removeListener('change', this._onChange); }, ! render: function() { // TODO }, ! _onChange: function() { this.setState({ messages: MessageStore.getMessages() }); } ! }); // MessagesControllerView.react.js