프론트/React Native, React

[리액트네이티브] react-native QR코드, 바코드 인식

연지양갱 2023. 6. 26. 22:22
728x90
반응형
SMALL

아래 expo 문서를 확인하면

barcode scanner가 있었다!

교수님께서 알려주셔서 진짜 몇줄로 코드가 실행되서 억울할 정도ㅜㅜ

 

https://docs.expo.dev/versions/latest/sdk/bar-code-scanner/

 

BarCodeScanner

Allows scanning variety of supported barcodes both as standalone module and as extension for expo-camera.

docs.expo.dev

아무튼!!

코드는

 

import React, { useState, useEffect } from 'react';
import { Text, View, StyleSheet, Button } from 'react-native';
import { BarCodeScanner } from 'expo-barcode-scanner';

export default function App() {
  const [hasPermission, setHasPermission] = useState(null);
  const [scanned, setScanned] = useState(false);

  useEffect(() => {
    const getBarCodeScannerPermissions = async () => {
      const { status } = await BarCodeScanner.requestPermissionsAsync();
      setHasPermission(status === 'granted');
    };

    getBarCodeScannerPermissions();
  }, []);

  const handleBarCodeScanned = ({ type, data }) => {
    setScanned(true);
    alert(`Bar code with type ${type} and data ${data} has been scanned!`);
  };

  if (hasPermission === null) {
    return <Text>Requesting for camera permission</Text>;
  }
  if (hasPermission === false) {
    return <Text>No access to camera</Text>;
  }

  return (
    <View style={styles.container}>
      <BarCodeScanner
        onBarCodeScanned={scanned ? undefined : handleBarCodeScanned}
        style={StyleSheet.absoluteFillObject}
      />
      {scanned && <Button title={'Tap to Scan Again'} onPress={() => setScanned(false)} />}
    </View>
  );
}

이게 다다!

styleSheet은 생략되어 있다!

코드를 넣어보면

 

 

 

그래서 나는 지쿠터에 있는 것처럼 실행하고 싶었다!

그래서 위에 디자인을 추가할 것이다!

일단

barcodescanner를 사용한 부분이 별로 없어서

문서에 있는 props들을 확인할 거다

barCodeTypes : 전면, 후면 카메라일거

onBarCodeScanned : 스캔을 했을때 반응할 함수

type : 전면, 후면 카메라 선택하는 거 같음

가 있다

다른 프롭스를 사용할때는 위 코드를 실행해야합니다

그리고 프롭스 안에서 코드를 실행해야한당

 

barCodeScannerSettings={{ barCodeTypes: [BarCodeScanner.Constants.BarCodeType.code39], CODE_39: { height: 200, }, }}

 

 

 

반응형