zod vs yup#
是什么#
二者都是schema的校验工具。
基本使用为:
定义schema + 校验数据(提供报错) + 转换数据
并且,两者都支持把定义好的schema转换成ts类型
使用场景#
需要把API过来的数据,通过schema library校验和转换成表单用的类型,再融合进react-hook-form,从表单收集用户数据,最后转换回API的schema发送到后端。
背景/维护/生态#
zod#
- 文档丰富,可参考的内容多
- 相关生态丰富,包括
- openapi to zod
- Type to zod
- zod mocking
- 使用者/开发者/star更多
yup#
- 文档少
- 相关生态不多
主要差异点#
- zod.transform支持output类型
- zod支持更多功能
- Codecs
- json schema
- 定义schema的metadata