/** * 基于 https://github.com/clauderic/react-tiny-virtual-list 改造,主要是加了宽度自适应 */ import * as React from 'react'; import SizeAndPositionManager from './SizeAndPositionManager'; import { SCROLL_CHANGE_REASON } from './constants'; import type { VListProps } from './types'; export interface VListState { offset: number; scrollChangeReason: SCROLL_CHANGE_REASON; } export default class VirtualList extends React.PureComponent { static defaultProps: Partial; /** * 容器宽度或者高度缓存值 */ containerSize: number | undefined; itemSizeGetter: (itemSize: VListProps["itemSize"]) => (index: any) => any; sizeAndPositionManager: SizeAndPositionManager; readonly state: VListState; private rootNode; private styleCache; componentDidMount(): void; updateRootWidth(): void; componentDidUpdate(prevProps: VListProps, prevState: VListState): void; componentWillUnmount(): void; scrollTo(value: number): void; getOffsetForIndex(index: number, scrollToAlignment?: import("./constants").ALIGNMENT | undefined, itemCount?: number): number; recomputeSizes(startIndex?: number): void; calcContainerSize: () => number; render(): JSX.Element; private getRef; private handleScroll; private getNodeOffset; private getEstimatedItemSize; private getSize; private getStyle; }