![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
@deltazero/react-qr-svg
Advanced tools
React component for rendering SVG QR codes
Basic demo can be found at the demo page.
Most of the existing React components for QR (namely qrcode.react
, which was used as a starting point for this project) use <canvas>
for rendering.
This is fine for most scenarios, however when trying to print such code, it gets blurry. This is caused by the fact that <canvas>
contents get rastered and then scaled in the process resulting in the blurriness.
On the other hand, SVG retains the vector information of its contents and therefore is scaled properly when printed.
Install using npm
:
npm install react-qr-svg --save
Then use in your application like this:
import React from "react";
import { QRCode } from "react-qr-svg";
class Demo extends React.Component {
render() {
return (
<QRCode
bgColor="#FFFFFF"
fgColor="#000000"
level="Q"
style={{ width: 256 }}
value="some text"
/>
);
}
}
The props available are (shown with default values):
{
value: '', // The value to encode in the code
level: 'L', // QR Error correction level
bgColor: '#FFFFFF', // Color of the bright squares
fgColor: '#000000', // Color of the dark squares
cellClassPrefix: '', // Prefix of the CSS classes, if specified, bgColor and fgColor are ignored
transparent: false, // Transparent SVG omitting dark sqaures
rectProps: {}, // Props passed to <rect> elements, like { rx: 1 } for round rectangles
}
The level
prop corresponds to Error correction level so the valid values are L
, M
, Q
and H
.
You can also specify all the props that are valid for the <svg>
React element (e.g. style
, className
or width
which you can use to specify the size of the QR code).
Also, you may opt-in for transparency. This option omits dark squares, saves DOM about 30-50% of it's nodes and makes the SVG single color over transparent background. Using this, fgColor
is applied on the whole <svg>
instead of every <rect>
.
You can use CSS to set the QR code colors instead of the bgColor
and fgColor
props. You just need to specify the cellClassPrefix
prop and three CSS classes will become available for you to style.
Let's say you used my-qr-code
as the cellClassPrefix
. The generated classes are:
my-qr-code-cell
for all the cellsmy-qr-code-cell-empty
for the empty cellsmy-qr-code-cell-filled
for the filled cellsYou can then set the colors using the fill
CSS property. See CSS Demo for an example.
Note: If you specify cellClassPrefix
, bgColor
and fgColor
values are ignored.
This project is heavily inspired by the qrcode.react
project.
This project uses the react-component-boilerplate
.
react-qr-svg is available under MIT. See LICENSE for more details.
FAQs
React.js component for SVG QR codes
We found that @deltazero/react-qr-svg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.