2021년 1월 7일 개발일지 - 현재 진행 중인 일과 기술 스택:
안드로이드와 iOS 를 한 번에 빌드하는 하이브리드 모바일 앱의 프론트엔드를 개발하고 있으며 프레임워크로 아이오닉 (Ionic) 과 리액트 (React) 를 사용하고 있다.
리액트로 전자 서명 터치 패드 구현 하는 단계
- React 라이브러리
react-signature-canvas
를 설치한다.npm i -S react-signature-canvas
- 리액트 타입스크립트를 사용한다면 타입 패키지를 추가 설치한다.
npm install —save @types/react-signature-canvas
- react-signature-canvas 를 import 한다.
import React, { useRef, useState } from 'react' import ReactSignatureCanvas from 'react-signature-canvas' import SignatureCanvas from 'react-signature-canvas'
- 아래 소스 코드 예제처럼
SignatureCanvas
컴포넌트를 사용할 수 있다.
// ref 와 useRef 를 활용하여 컴포넌트 지정하기
const canvas = useRef<ReactSignatureCanvas>(null)
// 서명 패드에 서명한 내용 지우기
const clear = () => {
canvas.current?.clear()
setOnSign(false)
}
// 서명 사진 데이터 url 얻는 방법
const getUrl = () => canvas.current!.toDataURL()
// 서명 패드 컴포넌트 사용 예시
// 400 x 300 사이즈의 캔버스 서명 패드를 만든다.
return (
<SignatureCanvas
ref={canvas}
penColor="black"
canvasProps=
onBegin={() => setOnSign(true)}
/>
)
SignatureCanvas 컴포넌트의 프로퍼티와 메소드는 react-signature-canvas 라이브러리 문서 웹사이트에서 확인할 수 있다. 위 예시에 쓰인 메소드 중 onBegin()
은 서명을 시작했을 때 사용할 수 있다.