Optimize zooming when panOnScroll is enabled
Do not update the store every time the wheel event is triggered if nothing has changed.
This commit is contained in:
@@ -73,7 +73,13 @@ export function ZoomPane({
|
|||||||
maxZoom,
|
maxZoom,
|
||||||
translateExtent,
|
translateExtent,
|
||||||
viewport: defaultViewport,
|
viewport: defaultViewport,
|
||||||
onDraggingChange: (paneDragging: boolean) => store.setState({ paneDragging }),
|
onDraggingChange: (paneDragging) =>
|
||||||
|
store.setState((prevState) => {
|
||||||
|
if (prevState.paneDragging !== paneDragging) {
|
||||||
|
return { paneDragging };
|
||||||
|
}
|
||||||
|
return prevState;
|
||||||
|
}),
|
||||||
onPanZoomStart: (event, vp) => {
|
onPanZoomStart: (event, vp) => {
|
||||||
const { onViewportChangeStart, onMoveStart } = store.getState();
|
const { onViewportChangeStart, onMoveStart } = store.getState();
|
||||||
onMoveStart?.(event, vp);
|
onMoveStart?.(event, vp);
|
||||||
|
|||||||
Reference in New Issue
Block a user