Give HomePage an unmounted guard

Also add missing return in error-handling path
This commit is contained in:
Richard van der Hoff 2017-07-11 14:08:16 +01:00
parent b375c71a28
commit 8ac26dd19f

View File

@ -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 (