Зависимости

Есть множество библиотек для генерации QR-кодов. В данном случае воспользуемся qrcode.

Установим пакет с помощью следующей команды:

npm i qrcode

Настройка компонента

Начнем с базового компонента с полем для ввода текста, поскольку нам нужны входные данные для генерации QR-кода.

import { useState } from "react";export default function App() {
const [text, setText] = useState(""); return (
<div>
<input
value={text}
onChange={(e) => setText(e.target.value)}
/>
<br />
</div>
);
}

Генерация QR-кода

Чтобы сгенерировать QR-код, понадобится элемент canvas для его рендеринга.

import QRCode from "qrcode";
import { useEffect, useRef, useState } from "react";

export default function App() {
  const [text, setText] = useState("");
  const canvasRef = useRef();

useEffect(() => {
    QRCode.toCanvas(
      canvasRef.current,
      // QR-код не работает с пустой строкой,
      // поэтому мы используем пробел в качестве запасного варианта
      text || " ",
      (error) => error && console.error(error)
    );
  }, [text]);

  return (
    <div>
      <input
        value={text}
        onChange={(e) => setText(e.target.value)}
      />
      <br />

      <canvas ref={canvasRef} />
    </div>
  );
}

Ниже представлен конечный результат.

Telegram-канал по теме
NOP::Nuances of ProgrammingСтатьи и переводы для разработчиков — каждый день
Подписаться

Использование QR-кода в ванильном JS

Пакет можно использовать не только с React, но и с любым другим фреймворком и даже с ванильным JS.

<!-- index.html -->
<div>
  <input id="text-input" />
  <br />
  <canvas id="qr-code-canvas"></canvas>
</div>

// script.js
const QRCode = require("qrcode");

const input = document.getElementById("text-input");
const canvas = document.getElementById("qr-code-canvas");

input.addEventListener("change", (event) => {
  QRCode.toCanvas(
    canvas,
    event.target.value || " ",
    (error) => error && console.error(error)
  );
});

Варианты использования

QR-коды можно использовать для хранения любых данных. Рассмотрим наиболее частые случаи их применения.

1. Обмен ссылками и контактными данными

QR-код обеспечивает крайне простой процесс обмена ссылками и контактными данными. Достаточно лишь отсканировать код с помощью любого приложения!

2. Виртуальные карты и билеты

QR-коды можно использовать и для верификации. Просто нанесите их на виртуальные карты или билеты, а потом отсканируйте, чтобы подтвердить разрешение или подлинность.

3. Добавление цифрового контакта

Хотите рассказать пользователям обо всех особенностях своего продукта, но не можете вместить это в одном рекламном объявлении? Добавьте QR-код со ссылкой на страницу с подробной информацией о продукте и позвольте пользователям изучить ее самостоятельно.

Читайте также:


Перевод статьи Tapajyoti Bose: How Pros add QR code to their sites ?✨

Мы в Telegram — подписывайтесь
NOP::Nuances of ProgrammingСтатьи и переводы для разработчиков — каждый день
Подписаться
NOP::HumorИТ-юмор и мемы о боли разработчиков
Подписаться
NOP::Recruiter RemoteУдалённые ИТ-вакансии с вилками
Подписаться
Предыдущая статьяКак запустить ИИ-генератор Stable Diffusion
Следующая статьяКак получить данные в нужном формате с помощью Pandas