react-qrcode-scan
Version:
React componnent write by typescript for scan qrcode base on instascan.js
49 lines (48 loc) • 1.54 kB
TypeScript
import * as React from "react";
import "webrtc-adapter";
import CameraCore from "./core/camera";
import Scanner, { ScanOptions } from "./core/scanner";
export declare type CameraItem = CameraCore;
export interface CameraProps {
children: (cameras: CameraItem[]) => React.ReactNode;
onError: (message: any) => void;
}
interface CameraState {
ready: boolean;
}
export declare class Camera extends React.PureComponent<CameraProps, CameraState> {
state: CameraState;
cameras: CameraCore[];
componentDidMount(): Promise<void>;
render(): {};
}
export interface QRScanerProps {
camera: CameraCore;
stop?: boolean;
options?: ScanOptions;
onScan: (content: string) => void;
onError: (message: Error) => void;
onStart?: (camera: CameraItem) => void;
onStop?: () => void;
onActive?: () => void;
onInActive?: () => void;
style?: React.CSSProperties;
className?: string;
videoAttr?: React.VideoHTMLAttributes<any>;
}
export declare class QRScaner extends React.Component<QRScanerProps> {
scanner: Scanner;
previewer: React.RefObject<HTMLVideoElement>;
shouldComponentUpdate({ stop, onStop, options, camera }: {
stop?: boolean;
onStop?: (_: any) => void;
options?: {};
camera: any;
}): boolean;
destroyScanner(): void;
initScanner(camera: any, options?: {}): void;
componentDidMount(): void;
componentWillUnmount(): void;
render(): JSX.Element;
}
export {};