From 643ca19b68ec63170648e9f5cba2456aba23a92c Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Sat, 6 Sep 2014 09:40:56 -1000 Subject: [PATCH] Prevent extra enter after submitting message * Check _onChange so not set the state to the "\n". * Seems that setting state from _onKeyDown triggers rendering, with state set to '', but then the _onChange event is called, somehow with the event.target.value set "\n". * Is there some way to stop event propagation in the _onKeyDown? * Tried event.stopPropgation in _onKeyDown, but that didn't work. --- examples/flux-chat/js/components/MessageComposer.react.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/flux-chat/js/components/MessageComposer.react.js b/examples/flux-chat/js/components/MessageComposer.react.js index b8ffce40..69e47905 100644 --- a/examples/flux-chat/js/components/MessageComposer.react.js +++ b/examples/flux-chat/js/components/MessageComposer.react.js @@ -36,10 +36,14 @@ var MessageComposer = React.createClass({ }, _onChange: function(event, value) { - this.setState({text: event.target.value}); + // ENTER_KEY_CODE handled by _onKeyDown + if (event.target.value !== "\n") { + this.setState({text: event.target.value}); + } }, _onKeyDown: function(event) { + // Trap the ENTER_KEY_CODE to send the message if (event.keyCode === ENTER_KEY_CODE) { var text = this.state.text.trim(); if (text) {