refactor(controls): use memo
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import React from 'react';
|
import React, { memo } from 'react';
|
||||||
import cc from 'classcat';
|
import cc from 'classcat';
|
||||||
|
|
||||||
import { useStoreState, useStoreActions } from '../../store/hooks';
|
import { useStoreState, useStoreActions } from '../../store/hooks';
|
||||||
@@ -17,7 +17,8 @@ interface ControlProps extends React.HTMLAttributes<HTMLDivElement> {
|
|||||||
showInteractive?: boolean;
|
showInteractive?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Controls = ({ style, showZoom = true, showFitView = true, showInteractive = true, className }: ControlProps) => {
|
const Controls = memo(
|
||||||
|
({ style, showZoom = true, showFitView = true, showInteractive = true, className }: ControlProps) => {
|
||||||
const setInteractive = useStoreActions((actions) => actions.setInteractive);
|
const setInteractive = useStoreActions((actions) => actions.setInteractive);
|
||||||
const fitView = useStoreActions((actions) => actions.fitView);
|
const fitView = useStoreActions((actions) => actions.fitView);
|
||||||
const zoomIn = useStoreActions((actions) => actions.zoomIn);
|
const zoomIn = useStoreActions((actions) => actions.zoomIn);
|
||||||
@@ -56,7 +57,8 @@ const Controls = ({ style, showZoom = true, showFitView = true, showInteractive
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
}
|
||||||
|
);
|
||||||
|
|
||||||
Controls.displayName = 'Controls';
|
Controls.displayName = 'Controls';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user