recyclerlistview
Version:
The listview that you need and deserve. It was built for performance, uses cell recycling to achieve smooth scrolling.
28 lines (27 loc) • 1.16 kB
TypeScript
import * as React from "react";
import { ScrollView } from "react-native";
import { Dimension } from "../dependencies/LayoutProvider";
import BaseScrollView, { ScrollEvent, ScrollViewDefaultProps } from "./BaseScrollView";
export interface ScrollComponentProps {
onSizeChanged: (dimensions: Dimension) => void;
onScroll: (offsetX: number, offsetY: number, rawEvent: ScrollEvent) => void;
contentHeight: number;
contentWidth: number;
canChangeSize?: boolean;
externalScrollView?: {
new (props: ScrollViewDefaultProps): BaseScrollView;
};
isHorizontal?: boolean;
renderFooter?: () => JSX.Element | JSX.Element[] | null;
scrollThrottle?: number;
useWindowScroll?: boolean;
onLayout?: any;
renderContentContainer?: (props?: object, children?: React.ReactNode) => React.ReactNode | null;
renderAheadOffset: number;
layoutSize?: Dimension;
}
export default abstract class BaseScrollComponent extends React.Component<ScrollComponentProps, {}> {
abstract scrollTo(x: number, y: number, animate: boolean): void;
getScrollableNode(): number | null;
getNativeScrollRef(): ScrollView | null;
}