From d15efc6ba99ab26735dcf7a83303ab0b148ecd46 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Sat, 8 Dec 2018 23:42:49 +0100 Subject: Dispose autorun on component unmount --- src/components/services/content/ServiceWebview.js | 7 ++++++- src/containers/settings/RecipesScreen.js | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index 3ec0c3a67..f59205c0e 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js @@ -33,7 +33,7 @@ export default @observer class ServiceWebview extends Component { }; componentDidMount() { - autorun(() => { + this.autorunDisposer = autorun(() => { if (this.props.service.isActive) { this.setState({ forceRepaint: true }); setTimeout(() => { @@ -43,6 +43,10 @@ export default @observer class ServiceWebview extends Component { }); } + componentWillUnmount() { + this.autorunDisposer(); + } + updateTargetUrl = (event) => { let visible = true; if (event.url === '' || event.url === '#') { @@ -54,6 +58,7 @@ export default @observer class ServiceWebview extends Component { }); } + autorunDisposer = null; webview = null; render() { diff --git a/src/containers/settings/RecipesScreen.js b/src/containers/settings/RecipesScreen.js index 4efe81505..b125e6a05 100644 --- a/src/containers/settings/RecipesScreen.js +++ b/src/containers/settings/RecipesScreen.js @@ -32,7 +32,7 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend componentDidMount() { gaPage('Settings/Recipe Dashboard/Featured'); - autorun(() => { + this.autorunDisposer = autorun(() => { const { filter } = this.props.params; const { currentFilter } = this.state; @@ -51,8 +51,11 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend componentWillUnmount() { this.props.stores.services.resetStatus(); + this.autorunDisposer(); } + autorunDisposer = null; + searchRecipes(needle) { if (needle === '') { this.resetSearch(); -- cgit v1.2.3-70-g09d2