diff --git a/src/layers/base-layer.js b/src/layers/base-layer.js index c2703831a9..d4530c82b8 100644 --- a/src/layers/base-layer.js +++ b/src/layers/base-layer.js @@ -884,7 +884,8 @@ export default class Layer { } let data = []; - if (!triggerChanged.getData) { + + if (!triggerChanged.getData && oldLayerData && oldLayerData.data) { // same data data = oldLayerData.data; } else { diff --git a/src/layers/layer-text-label.js b/src/layers/layer-text-label.js index 373b143fa1..50433182fd 100644 --- a/src/layers/layer-text-label.js +++ b/src/layers/layer-text-label.js @@ -70,7 +70,12 @@ export const formatTextLabelData = ({textLabel, triggerChanged, oldLayerData, da const getText = textLabelAccessor(tl); let characterSet; - if (!triggerChanged[`getLabelCharacterSet-${i}`]) { + if ( + !triggerChanged[`getLabelCharacterSet-${i}`] && + oldLayerData && + oldLayerData.textLabels && + oldLayerData.textLabels[i] + ) { characterSet = oldLayerData.textLabels[i].characterSet; } else { const allLabels = tl.field ? data.map(getText) : [];