react-qr-code
Version:
A QR code generator for React and React Native.
85 lines (61 loc) • 3.08 kB
Markdown
# react-qr-code
[](https://www.npmjs.org/package/react-qr-code)
[](https://david-dm.org/rosskhanas/react-qr-code)
[](https://david-dm.org/rosskhanas/react-qr-code#info=devDependencies)
[](https://david-dm.org/rosskhanas/react-qr-code#info=peerDependencies)
A <QRCode /> component for React. This library works with React and React Native
(using [React Native SVG](https://github.com/react-native-svg/react-native-svg)).
### Screenshots
#### [Web](https://rosskhanas.github.io/react-qr-code/)
<img src="https://github.com/rosskhanas/react-qr-code/blob/master/demo-web.png" width="640" />
#### Android & iOS
<div float="left">
<img src="https://github.com/rosskhanas/react-qr-code/blob/master/demo-android.png" width="320" />
<img src="https://github.com/rosskhanas/react-qr-code/blob/master/demo-ios.png" width="265" />
</div>
### Installation
```
npm i react-qr-code
```
When using this library with React Native, you will also need to [have `react-native-svg` installed](https://github.com/react-native-svg/react-native-svg#installation).
```
npm i react-native-svg
cd ios && pod install
```
### The Gist
```javascript
import React from "react";
import ReactDOM from "react-dom";
import QRCode from "react-qr-code";
ReactDOM.render(<QRCode value="hey" />, document.getElementById("Container"));
```
Note: If the QR code is likely to appear next to dark objects, you will need to wrap it in a light-colored container to preserve the '[quiet zone](https://qrworld.wordpress.com/2011/08/09/the-quiet-zone/)', e.g.
```javascript
<div style={{ background: 'white', padding: '16px' }}>
<QRCode ... />
</div>
```
Responsive QR code example:
```javascript
// Can be anything instead of `maxWidth` that limits the width.
<div style={{ height: "auto", margin: "0 auto", maxWidth: 64, width: "100%" }}>
<QRCode
size={256}
style={{ height: "auto", maxWidth: "100%", width: "100%" }}
value={value}
viewBox={`0 0 256 256`}
/>
</div>
```
### API
| prop | type | default value | platform |
| --------- | ---------------------------- | ------------- |-------------------|
| `bgColor` | `string` | '#FFFFFF' | web, ios, android |
| `fgColor` | `string` | '#000000' | web, ios, android |
| `level` | `string` (`'L' 'M' 'Q' 'H'`) | 'L' | web, ios, android |
| `size` | `number` | 256 | web, ios, android |
| `title` | `string` | | web |
| `value` | `string` | | web, ios, android |
Adheres to the [official QR spec](https://www.qrcode.com/en/about/version.html) and can store up to 2953 characters in `value`.
### License
MIT