UNPKG

react-recycled-list

Version:

A React library for efficiently rendering large list with expensive component

41 lines (40 loc) 1.86 kB
import React from 'react'; import { ReactRecycledListProps, ReactRecycledListState } from './TypeDef'; import { RowToDataIndexMap } from './utils'; export default abstract class General<P extends ReactRecycledListProps, S extends ReactRecycledListState> extends React.PureComponent<P, S> { prevScroll: number; prevLastVisibleRow: number; prevLastRenderedRow: number; abstract listWindowRef: any; abstract rowHeights: number[]; abstract rowPositions: number[]; abstract rowToDataIndexMap: RowToDataIndexMap; abstract totalNumOfRenderedRows: number; abstract initialArrayTemplate: null[]; abstract totalRows: number; abstract fullHeight: number; abstract timeOut: any; abstract windowHeight: number; abstract numOfInvisibleRowOnEachDirection: number; abstract getTopViewportRowIndex(scrollTop: number): number; abstract getBottomViewportRowIndex(scrollTop: number): number; abstract shouldResetList(prevProps: P): boolean; abstract initializeProperties(): any; constructor(props: P); componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: P): void; onListWillRecycle: (newRenderedRowIndex: number[], newScrollState: boolean[], newTopRenderedRowRelativeIndex: number) => void; onScrollChange: (scrollTop: number) => void; recycle: (scrollTop: number) => void; resetList: () => void; onScroll: (event: React.UIEvent<HTMLElement>) => void; scrollToDataIndex: (targetIndex: number) => void; scrollToRow: (targetRow: number) => void; scrollTo: (scrollTop: number) => void; manualScroll: (targetPosition: number) => void; mod: (n: number, m?: number) => number; getResetViewportBottom: () => number; _debounceScrollState: () => void; render(): JSX.Element; }