Types API Reference
This page details the core TypeScript types exported from rive-react for use in your applications.
RiveState
The object returned by the useRive hook.
export type RiveState = {
canvas: HTMLCanvasElement | null;
container: HTMLElement | null;
setCanvasRef: RefCallback<HTMLCanvasElement>;
setContainerRef: RefCallback<HTMLElement>;
rive: Rive | null;
RiveComponent: (props: ComponentProps<'canvas'>) => JSX.Element;
};
UseRiveParameters
The configuration object passed to the useRive hook or <Rive /> component. It mirrors the constructor of the core Rive class.
export type UseRiveParameters = Partial<Omit<RiveParameters, 'canvas'>> & {
onRiveReady?: (rive: Rive) => void;
} | null;
UseRiveOptions
Hook-specific options for useRive.
export type UseRiveOptions = {
useDevicePixelRatio: boolean;
customDevicePixelRatio: number;
fitCanvasToArtboardHeight: boolean;
useOffscreenRenderer: boolean;
shouldResizeCanvasToContainer: boolean;
shouldUseIntersectionObserver?: boolean;
};
RiveFileState
The object returned by the useRiveFile hook.
export type RiveFileState = {
riveFile: RiveFile | null;
status: 'idle' | 'loading' | 'failed' | 'success';
};
Data Binding Types
These types define the return values for the Data Binding hooks.
UseViewModelInstanceStringResult:{ value: string | null, setValue: (v: string) => void }UseViewModelInstanceNumberResult:{ value: number | null, setValue: (v: number) => void }UseViewModelInstanceBooleanResult:{ value: boolean | null, setValue: (v: boolean) => void }UseViewModelInstanceColorResult:{ value: number | null, setValue, setRgb, ... }UseViewModelInstanceEnumResult:{ value: string | null, values: string[], setValue }UseViewModelInstanceTriggerResult:{ trigger: () => void }UseViewModelInstanceImageResult:{ setValue: (img: RiveRenderImage | null) => void }UseViewModelInstanceListResult:{ length, addInstance, getInstanceAt, ... }UseViewModelInstanceArtboardResult:{ setValue: (artboard: RiveArtboard | null) => void }