[FE / REACT] Zod
서론..
프로젝트를 진행하면서
zodSchema 라는 파일을 마주보게되었다
파일 안에 들어있는 함수들을 쭉 둘러보니
유효성 검사를 진행하는 함수임을 알 수 있었다
여기서 Zod 라는 것을 또 새롭게 알게되고
알게된 내용을 정리하고자 한다..
Zod란?
Zod는 TypeScript 용으로 만들어진 스키마 검증 및 파싱 라이브러리이다.
공식문서는 아래와 같다..
GitHub - colinhacks/zod: TypeScript-first schema validation with static type inference
TypeScript-first schema validation with static type inference - GitHub - colinhacks/zod: TypeScript-first schema validation with static type inference
github.com
왜 쓰는데?..
여기서 또 이건 왜쓰는지 궁금해진다..
Zod를 사용해서 데이터의 구조와 유형을 정의하고, 이러한 정의를 바탕으로 런타임에서 데이터의 유효성을 검사할 수 있다고 한다. (TypeScript는 컴파일 시점의 타입에러만 잡아낼 수 있음)
즉, 주로 서버에서 오는 데이터나 클라이언트 측 폼으로부터의 입력과 같이 런타임에 받은 데이터가
어플리케이션에서 기대하는 형식과 일치하는지 검증할 때 사용한다고 한다!
또한, 예시로 TypeScript에서 Number 자료형만 입력받기 때문에 1~10까지의 숫자만 입력받는다거나 정수,실수를 구분하는 것에 한계가 있다. Zod를 사용해 이러한 한계를 해결할 수 있다고 한다!
1. 타입 안정성 : 스키마를 정의함과 동시에 해당 스키마에 대한 Type을 자동으로 생성해준다
2. 유효성 검사 : 복잡한 객체 구조, 배열, 문자열, 숫자, 날짜 등 다양한 자료형에 대한 유효성 검사가 가능하다
3, 에러핸들링
4. 코드 단순화
사용법
+이후 추가