From de19c51061d5c2cb18b58b529b4c4be33d72397a Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Fri, 20 Jan 2017 19:15:31 +0900 Subject: [PATCH] Change to use Object.assign by checking keyPressed and remove unnecessary processing --- browser/components/MarkdownEditor.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/browser/components/MarkdownEditor.js b/browser/components/MarkdownEditor.js index 3ececc2e..ad58e00d 100644 --- a/browser/components/MarkdownEditor.js +++ b/browser/components/MarkdownEditor.js @@ -146,23 +146,21 @@ class MarkdownEditor extends React.Component { } handleKeyDown(e) { - let newKeyPressed = this.state.keyPressed - newKeyPressed[e.key] = true - this.setState({keyPressed: newKeyPressed}) + const keyPressed = Object.assign(this.state.keyPressed, { + [e.key]: true + }) + this.setState({ keyPressed }) let isNoteHandlerKey = (el) => { return this.state.keyPressed[el] } if (this.state.status === 'CODE' && this.hotkey.noteHandlerKey.escapeFromEditor.every(isNoteHandlerKey)) { document.activeElement.blur() - this.hotkey.noteHandlerKey.escapeFromEditor.forEach((el) => { - newKeyPressed[e.key] = false - this.setState({keyPressed: newKeyPressed}) - }) } } handleKeyUp (e) { - let newKeyPressed = this.state.keyPressed - newKeyPressed[e.key] = false - this.setState({keyPressed: newKeyPressed}) + const keyPressed = Object.assign(this.state.keyPressed, { + [e.key]: false + }) + this.setState({ keyPressed }) } render () {