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:
Veniamin Krol
2026-01-26 10:33:49 +01:00
parent cf2d4be3f5
commit 6d119eb582

View File

@@ -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);