summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFrancesco <firefelix@gmail.com>2015-06-19 13:23:52 +0200
committerFrancesco <firefelix@gmail.com>2015-06-19 13:30:56 +0200
commitdc8075314bdf86502663fe2dbf916910d0d2b6c5 (patch)
tree14f885457558ff9a3d49040ed119a4a4d8d46e74 /src
parentd4867b2d0bc99f50781c8d577b054d034b567623 (diff)
downloadreact-autosize-textarea-dc8075314bdf86502663fe2dbf916910d0d2b6c5.zip
react-autosize-textarea-dc8075314bdf86502663fe2dbf916910d0d2b6c5.tar.gz
react-autosize-textarea-dc8075314bdf86502663fe2dbf916910d0d2b6c5.tar.bz2
Fix: was removing autosize listener with unmounted component
due to setTimeout() used needed by update event
Diffstat (limited to 'src')
-rw-r--r--src/TextareaAutosize.js13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/TextareaAutosize.js b/src/TextareaAutosize.js
index 09f67ff..01b24b4 100644
--- a/src/TextareaAutosize.js
+++ b/src/TextareaAutosize.js
@@ -31,10 +31,15 @@ const TextareaAutosize = React.createClass({
this.dispatchEvent(DESTROY);
},
- dispatchEvent(EVENT_TYPE) {
+ dispatchEvent(EVENT_TYPE, defer) {
const event = document.createEvent('Event');
event.initEvent(EVENT_TYPE, true, false);
- setTimeout(() => this.refs.textarea.getDOMNode().dispatchEvent(event));
+ const dispatch = () => this.refs.textarea.getDOMNode().dispatchEvent(event);
+ if (defer) {
+ setTimeout(dispatch);
+ } else {
+ dispatch();
+ }
},
getValue(props) {
@@ -53,10 +58,10 @@ const TextareaAutosize = React.createClass({
componentWillReceiveProps(nextProps) {
if (this.getValue(nextProps) !== this.getValue(this.props)) {
- this.dispatchEvent(UPDATE);
+ this.dispatchEvent(UPDATE, true);
}
},
});
-module.exports = TextareaAutosize;
+export default TextareaAutosize; \ No newline at end of file