Skip to content
This repository was archived by the owner on Aug 1, 2022. It is now read-only.

Commit 63278ce

Browse files
committed
Update changes from master
Because we had the master branch as base, some PRs have been merged into master instead of develop. This has been changed now.
2 parents 498f0b3 + 0d05ec9 commit 63278ce

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/index.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ const canvasTypes = [
3838
}
3939
];
4040

41+
const dimensionsPropTypes = PropTypes.oneOfType([
42+
PropTypes.number,
43+
PropTypes.string
44+
]);
45+
4146
export default class extends PureComponent {
4247
static propTypes = {
4348
loadTimeOffset: PropTypes.number,
@@ -48,8 +53,8 @@ export default class extends PureComponent {
4853
gridColor: PropTypes.string,
4954
backgroundColor: PropTypes.string,
5055
hideGrid: PropTypes.bool,
51-
canvasWidth: PropTypes.number,
52-
canvasHeight: PropTypes.number,
56+
canvasWidth: dimensionsPropTypes,
57+
canvasHeight: dimensionsPropTypes,
5358
disabled: PropTypes.bool,
5459
imgSrc: PropTypes.string,
5560
saveData: PropTypes.string,
@@ -101,10 +106,10 @@ export default class extends PureComponent {
101106
});
102107
this.chainLength = this.props.lazyRadius * window.devicePixelRatio;
103108

104-
const observeCanvas = new ResizeObserver((entries, observer) =>
109+
this.canvasObserver = new ResizeObserver((entries, observer) =>
105110
this.handleCanvasResize(entries, observer)
106111
);
107-
observeCanvas.observe(this.canvasContainer);
112+
this.canvasObserver.observe(this.canvasContainer);
108113

109114
this.drawImage();
110115
this.loop();
@@ -148,6 +153,10 @@ export default class extends PureComponent {
148153
}
149154
}
150155

156+
componentWillUnmount = () => {
157+
this.canvasObserver.unobserve(this.canvasContainer);
158+
};
159+
151160
drawImage = () => {
152161
if (!this.props.imgSrc) return;
153162

0 commit comments

Comments
 (0)