Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 1(213)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7

Библиографическое описание:
Берьянов М.С. СОЗДАНИЕ QR-КОДА С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ REACT.JS // Студенческий: электрон. научн. журн. 2023. № 1(213). URL: https://sibac.info/journal/student/213/277023 (дата обращения: 29.11.2024).

СОЗДАНИЕ QR-КОДА С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ REACT.JS

Берьянов Максим Сергеевич

студент, факультет ПИиКТ, Университет ИТМО,

РФ, г. Санкт-Петербург

CREATING A QR-CODE USING REACT.JS LIBRARY

 

Maxim Beryanov

Student, PIKT faculty, ITMO University,

Russia, Saint-Petersburg

 

АННОТАЦИЯ

В настоящее время QR-коды широко распространены во многих областях – на упаковках продуктов, в листовках и приложениях. В данной статье предлагается создать веб-сайт, который будет генерировать QR-код из передаваемого ему текста, и позволять загружать его в виде изображения.

ABSTRACT

Currently, QR codes are widely used in many areas - on product packaging, leaflets and applications. This article proposes to create a website that will generate a QR code from text passed to it, and allow it to be downloaded as an image.

 

Ключевые слова: веб, QR-код, React.JS, JavaScript, Vite.

Keywords: web, QR-code, React.JS, JavaScript, Vite.

 

Первым делом, необходимо с помощью менеджера пакетов npm и технологии Vite [1] инициализировать проект через следующую команду в терминале: npm create vite qr-code [2]. В интерактивном режиме, далее, нужно выбрать шаблон для работы с библиотекой React.JS на языке TypeScript. После этого, можно перейти непосредственно внутрь созданной директории под названием qr-code и установить дополнительные, нужные нам для работы, зависимости через команду: npm install qrcode @types/qrcode shortid @nextui-org/react. В качестве UI-библиотеки будет использован NextUI [3]. Это быстрая и современная технология, которая использует в себе React.JS [4] – для того, чтобы начать работу с данной библиотекой необходимо обернуть главный компонент нашего веб-приложения в библиотечный компонент <NextUIProvider />.

Затем мы создадим служебную функцию, отвечающую за генерацию QR-кода, имеющую некоторое строковое значение в качестве единственного аргумента и возвращающую QR-код в виде кодированной в формате Base64 картинки, если при обработке не возникло ошибок (иначе возвращается undefined). Теперь, когда у нас есть ключевая функциональность разрабатываемой системы, мы можем приступить к работе над основным компонентом данной статьи – предлагается создать два состояния (одно для хранения значения из поля ввода – например, соответствующего URL-адресу, который мы хотим преобразовать в QR-код, а другое – для самого QR-кода). Также, предлагается создать функцию, которая будет принимать кодированный в Base64 QR-код и загружать его (рисунок 1). Чтобы не было конфликтов между названиями файлов, мы используем библиотеку shortid для генерации уникального имени для каждого файла.

 

Рисунок 1. Функции генерирования и скачивания QR-кода

 

Использование библиотеки NextUI позволяет удобным образом генерировать div-контейнеры с нужными свойствами. Как мы видим, при нажатии на кнопки генерации и скачивания QR-кода, вызываются соответствующие функции, описанные выше (рисунок 2).

 

Рисунок 2. Реализация интерфейса системы создания QR-кода

 

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

 

Список литературы:

  1. Vite [Электронный ресурс] URL: https://vitejs.dev (дата обращения: 09.01.2023).
  2. QR-code | npm package [Электронный ресурс] URL: https://www.npmjs.com/package/qrcode (дата обращения: 09.01.2023).
  3. NextUI [Электронный ресурс] URL: https://nextui.org (дата обращения: 09.01.2023).
  4. React.JS [Электронный ресурс] URL: https://reactjs.org (дата обращения: 09.01.2023).

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.