主题
常用的周边库
状态管理
css相关库
classnames
用途
在前端开发中,我们经常需要根据不同的条件动态地添加或移除 CSS 类名。
classnames
库可以帮助我们更方便地处理这种情况,避免手动拼接字符串时可能出现的错误。安装:
bashnpm install classnames # 或者 yarn add classnames
常见用法:
传入多个类名
jsimport cn from 'classnames'; const classes = cn('foo', 'bar'); // 输出: 'foo bar'
传入对象
jsimport cn from 'classnames'; const isActive = true; const isDisabled = false; const classes = cn({ active: isActive, disabled: isDisabled }); // 输出: 'active'
传入数组
jsimport cn from 'classnames'; const arr = ['foo', 'bar']; const classes = cn(arr); // 输出: 'foo bar'
Zod
用途:
Zod
是一个用于数据验证和解析的 JavaScript 库,在构建应用程序时,数据验证是确保程序健壮性和安全性的重要环节。Zod
库提供了简洁、灵活且类型安全的方式来定义和验证数据结构。官方文档:Zod官方文档
代码示例:
jsimport { z } from 'zod'; // 定义一个 Zod 模式 const userSchema = z.object({ name: z.string().min(3), // 名字必须是字符串且至少 3 个字符 age: z.number().min(0).max(120), // 年龄必须是数字且在 0 到 120 之间 email: z.string().email(), // 邮箱必须是有效的电子邮件地址 }); // 解析数据 const userData = { name: 'John Doe', age: 30, email: 'johndoe@example.com', }; const result = userSchema.safeParse(userData); if (result.success) { const user = result.data; console.log('Valid user data:', user); } else { console.error('Invalid user data:', result.error); }