diff --git a/src/containers/costume-tab.jsx b/src/containers/costume-tab.jsx index baad4eb28422ba3da6307efb8c75d7b44fd9c569..c11deb2c78bba7a14c48ee91b2f853409c71b940 100644 --- a/src/containers/costume-tab.jsx +++ b/src/containers/costume-tab.jsx @@ -39,6 +39,25 @@ class CostumeTab extends React.Component { } } + shouldComponentUpdate (nextProps) { + const { + editingTarget, + sprites, + stage + } = nextProps; + const nextTarget = editingTarget && sprites[editingTarget] ? sprites[editingTarget] : stage; + const currentTarget = + this.props.editingTarget && this.props.sprites[this.props.editingTarget] ? + this.props.sprites[this.props.editingTarget] : + this.props.stage; + + if (this.props.editingTarget !== editingTarget || + currentTarget.currentCostume !== nextTarget.currentCostume) { + return true; + } + return false; + } + handleSelectCostume (costumeIndex) { this.props.vm.editingTarget.setCostume(costumeIndex); this.setState({selectedCostumeIndex: costumeIndex});