diff --git a/src/components/structures/HomePage.js b/src/components/structures/HomePage.js index 2311cc1f30..df8cc33ec9 100644 --- a/src/components/structures/HomePage.js +++ b/src/components/structures/HomePage.js @@ -52,6 +52,8 @@ module.exports = React.createClass({ }, componentWillMount: function() { + this._unmounted = false; + if (this.props.teamToken && this.props.teamServerUrl) { this.setState({ iframeSrc: `${this.props.teamServerUrl}/static/${this.props.teamToken}/home.html` @@ -67,9 +69,14 @@ module.exports = React.createClass({ request( { method: "GET", url: src }, (err, response, body) => { + if (this._unmounted) { + return; + } + if (err || response.status < 200 || response.status >= 300) { console.log(err); this.setState({ page: "Couldn't load home page" }); + return; } body = body.replace(/_t\(['"]([\s\S]*?)['"]\)/mg, (match, g1)=>this.translate(g1)); @@ -79,6 +86,10 @@ module.exports = React.createClass({ } }, + componentWillUnmount: function() { + this._unmounted = true; + }, + render: function() { if (this.state.iframeSrc) { return (