Skip to content

Instantly share code, notes, and snippets.

@calvin
Created June 2, 2017 04:33
Show Gist options
  • Save calvin/93714d0a05d827ba9cef4a65058b9480 to your computer and use it in GitHub Desktop.
Save calvin/93714d0a05d827ba9cef4a65058b9480 to your computer and use it in GitHub Desktop.
Typescript definition for `virtualize` function in `react-swipeable-views-utils`
declare module "react-swipeable-views-utils" {
import ReactSwipeableViews from "react-swipeable-views";
export interface VirtualizedSlideRendererParams {
index: number;
key: number;
}
interface VirtualizedComponentProps {
index?: number;
onChangeIndex?: (currentIndex: number, prevIndex: number) => void;
onTransitionEnd?: () => void;
overscanSlideAfter?: number;
overscanSlideBefore?: number;
slideCount?: number;
slideRenderer?: (params: VirtualizedSlideRendererParams) => JSX.Element;
}
interface VirtualizedComponentState {
indexContainer: number;
indexStart: number;
indexStop: number;
}
class VirtualizedComponent extends React.Component<VirtualizedComponentProps, VirtualizedComponentState> {
handleChangeIndex(indexContainer: number, indexLatest: number): void;
handleTransitionEnd(): void;
setIndex(index: number, indexContainer: number, indexDiff: number): void;
setWindow(index: number): void;
}
export function virtualize(component: typeof ReactSwipeableViews): typeof VirtualizedComponent;
export default virtualize;
}
@User195
Copy link

User195 commented Jul 11, 2019

slideRenderer function is required, therefore need to remove ? at 16 line

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment