diff --git a/src/components/layer.js b/src/components/layer.js index fd882a26..56aa538e 100644 --- a/src/components/layer.js +++ b/src/components/layer.js @@ -104,7 +104,7 @@ export default class Layer extends PureComponent { const map = this._map; if (map) { map.off('styledata', this._updateLayer); - if (map.style) { + if (map.style && map.style._loaded) { map.removeLayer(this.id); } } diff --git a/src/components/source.js b/src/components/source.js index 4dc735e3..29e0bc20 100644 --- a/src/components/source.js +++ b/src/components/source.js @@ -58,9 +58,11 @@ export default class Source extends PureComponent { const map = this._map; if (map) { map.off('styledata', this._updateSource); - if (map.style) { - requestAnimationFrame(() => map.removeSource(this.id)); - } + requestAnimationFrame(() => { + if (map.style && map.style._loaded) { + map.removeSource(this.id); + } + }); } }