[React] 서명 패드 만들기 (react-signature-canvas)

2025. 7. 30. 11:59·React
반응형

🎈 react-signature-canvas 패키지 설치

yarn add react-signature-canvas

 

🎈 서명 컴포넌트 구현

import {useRef} from 'react';
import SignatureCanvas from 'react-signature-canvas';

const SignaturePad = () => {
	const canvas = useRef<SignatureCanvas>(null);
	
	const handleCanvasClear = () => {
	  canvas.current?.clear();
	};
	  
	<SignatureCanvas
	  ref={canvas}
	  penColor="black"
	  canvasProps={{
	    height: 300,
	    className: 'bg-gray-100 rounded-md mt-2 w-full',
	  }}
	/>
	
export default SignaturePad;

 

🎈 활용편

🔨 화면 사이즈 변화하면 입력값이 리셋되는 경우

  • SignatureCanvas props에 추가
    • clearOnResize={false}

 

🔨 서명한 거 이미지로 저장하기

const handleSignatureComplete = () => {
  if (canvas.current) {
    const imageData = canvas.current.toDataURL('image/png');
    onClick(imageData);
    handleModalClose();
  }
};

 

🔨 서명 비어있으면 완료 X

const handleSignatureComplete = () => {
  if (canvas.current) {
    if (canvas.current.isEmpty()) { // 비어있는지 확인
      toast.error('서명이 비어 있습니다.');
    } else {
      const imageData = canvas.current.toDataURL('image/png');
      onClick(imageData);
      handleModalClose();
    }
  }
};

 

🎈 구현 화면

유치원 통합 관리 서비스를 개발할 때, 귀가동의서 기능에서 쓰였다.

학부모가 귀가동의서를 작성하고 서명할 수 있도록 서명 패드를 구현하였다.

 


 

[참고]

 

react-signature-canvas

A React wrapper component around signature_pad. 100% test coverage, types, examples, & more. Unopinionated and heavily updated fork of react-signature-pad. Latest version: 1.1.0-alpha.2, last published: 4 months ago. Start using react-signature-canvas in y

www.npmjs.com

 

리액트에서 signature-pad로 서명하기, react-signature-canvas에 placeholder 넣기

회사에서 설문 제작 시 선택할 수 있는 새로운 문항 종류로 `서명 입력`을 받을 수 있는 모듈을 구현하게 됐다. 서명 입력 받는 라이브러리 중 가장 대표적으로 사용되고 있는 signature-pad를 리액

jiyoon-park.tistory.com

 

반응형

'React' 카테고리의 다른 글

[React] 리액트에서 svg 사용하는 방법 : img, ReactComponent, svgr  (0) 2025.08.01
[React] toast 사용법 (react-toastify)  (0) 2025.07.31
[React] 리액트 특징 : 선언형 프로그래밍, Virtual DOM  (0) 2025.07.29
[React] Control Props 패턴 : Controlled vs Uncontrolled  (0) 2025.05.07
'React' 카테고리의 다른 글
  • [React] 리액트에서 svg 사용하는 방법 : img, ReactComponent, svgr
  • [React] toast 사용법 (react-toastify)
  • [React] 리액트 특징 : 선언형 프로그래밍, Virtual DOM
  • [React] Control Props 패턴 : Controlled vs Uncontrolled
올콩
올콩
콩 심은 데 콩 난다
  • 올콩
    콩스토리
    올콩
  • 전체
    오늘
    어제
    • 분류 전체보기 (197) N
      • SSAFY (10)
      • Algorithm (115) N
        • 이론 (6)
        • 백준 (BOJ) (108) N
        • 프로그래머스 (1)
      • Trouble Shooting (9)
      • Frontend (6)
      • React (17)
      • Next.js (4)
      • Vue (4)
      • Node.js (2)
      • HTML (9)
      • DevOps (4)
        • Git (4)
      • Language (9)
        • JavaScript (0)
        • Java (9)
      • Embedded (1)
      • CS (5)
        • Network (1)
        • Blockchain (4)
      • 자격증 (2)
  • 블로그 메뉴

    • GitHub
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오블완
    중복조합
    bfs
    SSAFY
    싸피
    파이썬
    Java
    html5
    힙
    React
    Algorithm
    순열
    DP
    알고리즘
    블록체인
    중복순열
    재귀
    Next.js
    티스토리챌린지
    수학
    dfs
    구현
    우선순위큐
    SSAFYcial
    강의
    Error
    백준
    백트래킹
    브루트포스
    Heap
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
올콩
[React] 서명 패드 만들기 (react-signature-canvas)
상단으로

티스토리툴바