/// export type RenderFunc = (item: T, index: number, props: { style: React.CSSProperties; offsetX: number; }) => React.ReactNode; export interface SharedConfig { getKey: (item: T) => React.Key; } export type GetKey = (item: T) => React.Key; export type GetSize = (startKey: React.Key, endKey?: React.Key) => { top: number; bottom: number; }; export interface ExtraRenderInfo { /** Virtual list start line */ start: number; /** Virtual list end line */ end: number; /** Is current in virtual render */ virtual: boolean; /** * Horizontal scroll offset applied to rendered items when `scrollWidth` is set. * 当设置 `scrollWidth` 时,应用到已渲染元素上的横向滚动偏移量。 */ offsetX: number; /** * Current vertical scrollTop of the holder element. * holder 元素当前真实的纵向 `scrollTop`,表示视口滚动到了哪里。 */ scrollTop: number; /** * Vertical translate offset of the rendered filler content. * 已渲染 filler 内容的纵向 `translateY` 偏移量,表示这一段内容被平移到虚拟列表中的哪个位置。 */ offsetY: number; rtl: boolean; getSize: GetSize; }