diff options
author | JoramWilander <jwawilander@gmail.com> | 2015-12-02 10:56:48 -0500 |
---|---|---|
committer | JoramWilander <jwawilander@gmail.com> | 2015-12-02 10:56:48 -0500 |
commit | d0578f73bf6540013a59f80d2fa0c0d878be6365 (patch) | |
tree | 95dfd83a0505b43caf6b8e319be1c00c5d90f386 /web | |
parent | 5e51de6f2c9a69a205abe9f8ebd26592809fb0d0 (diff) | |
download | chat-d0578f73bf6540013a59f80d2fa0c0d878be6365.tar.gz chat-d0578f73bf6540013a59f80d2fa0c0d878be6365.tar.bz2 chat-d0578f73bf6540013a59f80d2fa0c0d878be6365.zip |
Fix emitter leak
Diffstat (limited to 'web')
-rw-r--r-- | web/react/components/posts_view.jsx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/web/react/components/posts_view.jsx b/web/react/components/posts_view.jsx index dc23d6792..d0eee5a23 100644 --- a/web/react/components/posts_view.jsx +++ b/web/react/components/posts_view.jsx @@ -280,17 +280,23 @@ export default class PostsView extends React.Component { this.updateScrolling(); } window.addEventListener('resize', this.handleResize); - PreferenceStore.addChangeListener(this.updateState); } componentWillUnmount() { window.removeEventListener('resize', this.handleResize); - PreferenceStore.removeChangeListener(this.updateState); } componentDidUpdate() { if (this.props.postList != null) { this.updateScrolling(); } } + componentWillReceiveProps(nextProps) { + if (!this.props.isActive && nextProps.isActive) { + this.updateState(); + PreferenceStore.addChangeListener(this.updateState); + } else if (this.props.isActive && !nextProps.isActive) { + PreferenceStore.removeChangeListener(this.updateState); + } + } shouldComponentUpdate(nextProps, nextState) { if (this.props.isActive !== nextProps.isActive) { return true; |