Skip to content

A React component library for reading QR codes using the device's camera

License

Notifications You must be signed in to change notification settings

wypratama/react-qr

Repository files navigation

@wypratama/react-qr

@wypratama/react-qr is a React component library for scanning QR codes using the device's camera. This library leverages the jsQR library to decode QR codes and provides an easy-to-use React component for embedding a QR code reader into your application.

Installation

npm install @wypratama/react-qr

or

yarn add @wypratama/react-qr

Usage

Import the QRReader component from the library and it's style, and use it in your React component:

import React from 'react';
import QRReader from '@wypratama/react-qr';
import '@wypratama/react-qr/dist/style.css';

const App = () => {
  const handleResult = (result) => {
    console.log('QR code data:', result);
  };

  return (
    <div>
      <h1>Scan a QR code</h1>
      <QRReader onResult={handleResult} />
    </div>
  );
};

export default App;

Props

Prop Type Description Default
onResult (result: string) => void Callback function that will be called with the decoded data when a QR code is scanned. Required
scanDelay number Delay (in ms) between each scan attempt. A value of 0 will scan as fast as possible. 0
width string Width of the QR reader component. Use any valid CSS value (e.g., '100%', '400px'). '100%'
style React.CSSProperties Optional custom styles to apply to the QR reader component. {}
children ReactNode Optional children to render inside the QR reader component. -
useFrame boolean If set to true, the QR reader will render children inside a default frame. If set to false, it will not. true

Customizing the QR Reader Appearance

You can pass custom children and set useFrame to false if you want to customize the appearance of the QR reader:

import React from 'react';
import QRReader from '@wypratama/react-qr';

const CustomFrame = () => (
  <div className='custom-frame'>{/* Your custom frame markup */}</div>
);

const App = () => {
  const handleResult = (result) => {
    console.log('QR code data:', result);
  };

  return (
    <div>
      <h1>Scan a QR code</h1>
      <QRReader onResult={handleResult} useFrame={false}>
        <CustomFrame />
      </QRReader>
    </div>
  );
};

export default App;

License

MIT

Dependencies

About

A React component library for reading QR codes using the device's camera

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published