refactor(controls): use memo

This commit is contained in:
moklick
2020-07-27 12:36:03 +02:00
parent 8d0e8c63fb
commit a436260a1c
+5 -3
View File
@@ -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';