diff --git a/packages/react-aria/src/virtualizer/useVirtualizerItem.ts b/packages/react-aria/src/virtualizer/useVirtualizerItem.ts index a961a7e9af8..83cf3e42241 100644 --- a/packages/react-aria/src/virtualizer/useVirtualizerItem.ts +++ b/packages/react-aria/src/virtualizer/useVirtualizerItem.ts @@ -51,7 +51,7 @@ export function useVirtualizerItem(options: VirtualizerItemOptions): {updateSize if (layoutInfo?.estimatedSize) { updateSizeEvent(); } - }, [layoutInfo?.estimatedSize]); + }); // TODO: Consider using a MutationObserver in addition to ResizeObserver to detect // when inner DOM structure changes cause an item's height to change. diff --git a/packages/react-stately/src/virtualizer/Layout.ts b/packages/react-stately/src/virtualizer/Layout.ts index 30130b782c5..fd585fe7f59 100644 --- a/packages/react-stately/src/virtualizer/Layout.ts +++ b/packages/react-stately/src/virtualizer/Layout.ts @@ -14,7 +14,6 @@ import {InvalidationContext} from './types'; import {ItemDropTarget, Key, LayoutDelegate, Node} from '@react-types/shared'; import {LayoutInfo} from './LayoutInfo'; import {Rect} from './Rect'; -import {ScrollAnchorInfo} from './ScrollAnchor'; import {Size} from './Size'; import {Virtualizer} from './Virtualizer'; @@ -74,13 +73,6 @@ export abstract class Layout, O = any> implements L return newOptions !== oldOptions; } - /** - * Describes the edge-anchoring this layout wants, if any. Returning null (or omitting this - * method) disables scroll-anchoring entirely — the virtualizer's generic anchor-tracking logic - * is skipped. - */ - UNSTABLE_getScrollAnchorInfo?(_layoutOptions?: O): ScrollAnchorInfo | null; - /** * This method allows the layout to perform any pre-computation * it needs to in order to prepare LayoutInfos for retrieval. diff --git a/packages/react-stately/src/virtualizer/Virtualizer.ts b/packages/react-stately/src/virtualizer/Virtualizer.ts index cfbd178f957..bfa3bef8538 100644 --- a/packages/react-stately/src/virtualizer/Virtualizer.ts +++ b/packages/react-stately/src/virtualizer/Virtualizer.ts @@ -170,6 +170,7 @@ export class Virtualizer { } private relayout(context: InvalidationContext = {}) { + // @ts-ignore let anchorInfo = this.layout.UNSTABLE_getScrollAnchorInfo?.(context.layoutOptions) ?? null; // Capture scroll anchor from current (pre-layout) view positions.