From 380da26db96c52fcd398cfa4ea17b01b392ec796 Mon Sep 17 00:00:00 2001 From: Jesse Smith Date: Wed, 16 Mar 2016 10:49:12 -0700 Subject: [PATCH] Fix #361 cancel timer when tabs component unmounts --- components/tabs/Tabs.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/tabs/Tabs.jsx b/components/tabs/Tabs.jsx index fd3b1ab53..1a95c4117 100644 --- a/components/tabs/Tabs.jsx +++ b/components/tabs/Tabs.jsx @@ -27,6 +27,10 @@ class Tabs extends React.Component { this.updatePointer(nextProps.index); } + componentWillUnmount () { + clearTimeout(this.pointerTimeout); + } + handleHeaderClick = (idx) => { if (this.props.onChange) this.props.onChange(idx); }; @@ -50,7 +54,8 @@ class Tabs extends React.Component { } updatePointer (idx) { - setTimeout(() => { + clearTimeout(this.pointerTimeout); + this.pointerTimeout = setTimeout(() => { const startPoint = this.refs.tabs.getBoundingClientRect().left; const label = this.refs.navigation.children[idx].getBoundingClientRect(); this.setState({