react-use-qrcode
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

react-use-qrcode

React hook that allows you to decode QR Code data in a webworker (through comlink) using @zxing/library with some adaptations for web workers. Performance-first, non-ui blocking code. Uses OffscreenCanvas if available

Example

import useQrcode from 'react-use-qrcode'
 
const App: React.FC = () => {
  const { ref, result, stop } = useQrcode({
    width: 300,
    height: 300
  })
 
  useEffect(() => {
    if (result) {
      stop()
    }
  }, [result, stop])
 
  return (
    <>
      <video ref={ref} autoPlay width={300} height={300} />
      <p>{ result ? result : null }</p>
    </>
  )
}

Example

Run npm run example on the root then open https://localhost (accept the self signed certificate generated by Parcel)

Caveats

  • Need to always use a <video ref={ref}> element and provide the ref.
  • Need to always pass in a number width / height to the hook, can't use percentages or vh/vw (doesn't mean you can't stretch the <video> element itself)
  • Not tested on non-evergreen browsers (IE, Opera, Samsung Browser, etc)
  • webrtc-adapter might be needed for some weird browsers
  • react-use-comlink is a peer dep, install manually

License

MIT

/react-use-qrcode/

    Package Sidebar

    Install

    npm i react-use-qrcode

    Weekly Downloads

    0

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    19.6 kB

    Total Files

    12

    Last publish

    Collaborators

    • pocesar