当前位置:   article > 正文

使用qrcode.react动态自动生成二维码_qrcode.react 生成文本二维码

qrcode.react 生成文本二维码

qrcode.react 是一个基于 React 的二维码生成库,它提供了一种简单的方式来在 React 应用中生成二维码。

使用 qrcode.react 可以轻松地将二维码集成到 React 组件中。它提供了一个名为 QRCode 的组件,你可以在你的代码中使用它来生成二维码

以下是一个使用 qrcode.react 的示例:

安装:

npm install qrcode.react

yarn add qrcode.react

然后,在你的代码中引入 QRCode 组件:

  1. import QRCode from 'qrcode.react'
  2. export const QrcodeComponent=()=>{
  3. //需要转为二维码的h5链接
  4. const [url, setUrl] = useState('')
  5. //随机数id
  6. const [randomId, setRandomId] = useState<string>('')
  7. //生成的二维码图片链接
  8. const [qrcodeUrl, setQrcodeUrl] = useState('')
  9. //生成随机数id
  10. const uuid=()=>{
  11. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
  12. const r = (Math.random() * 16) | 0
  13. const v = c === 'x' ? r : (r & 0x3) | 0x8
  14. return v.toString(16)
  15. })
  16. }
  17. useEffect(() => {
  18. setRandomId(uuid())
  19. setUrl('https://example.com')
  20. }, [])
  21. useEffect(() => {
  22. //获取canvas类型的二维码
  23. const canvasImg = document.getElementById(randomId) as HTMLCanvasElement
  24. //将canvas对象转换为图片的data url
  25. setQrcodeUrl(canvasImg?.toDataURL('image/png'))
  26. }, [randomId])
  27. return (
  28. <div style={{ position: 'absolute', opacity: '0', zIndex: '-100' }}>
  29. {url && randomId && (
  30. <QRCode
  31. id={randomId}
  32. value={url}
  33. size={200} // 二维码的大小
  34. fgColor="#000000" // 二维码的颜色
  35. style={{ margin: 'auto', backgroundColor: 'white', padding: '10px' }}
  36. />
  37. )}
  38. </div>
  39. <img src={qrcodeUrl}/>
  40. );
  41. }

根据某个h5链接,可拼接参数,动态生成二维码的图片链接,扫描该二维码,可以根据参数跳转对应地址

注意:这个QRCode的组件id需要唯一,否则会出现问题,已踩过坑,此处,url是固定的,不涉及复杂情形,可以不用生成randomId,写固定的id就好了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/215465
推荐阅读
相关标签
  

闽ICP备14008679号