网站开发设计流程文档,中山企业建网站,做视频网站免费观看爱,wordpress参考文献在 TypeScript 中#xff0c;Omit 是一个内置的工具类型#xff0c;它用于从对象类型中排除指定的属性#xff0c;并返回剩余的属性。
Omit 的语法如下所示#xff1a;
type OmitT, K PickT, Excludekeyof T, K;其中#xff0c;T 表示原始类型…在 TypeScript 中Omit 是一个内置的工具类型它用于从对象类型中排除指定的属性并返回剩余的属性。
Omit 的语法如下所示
type OmitT, K PickT, Excludekeyof T, K;其中T 表示原始类型K 表示要排除的属性键的联合类型。
使用 Omit 类型时我们可以指定要从原始类型中排除的属性然后得到一个新的类型该类型不包含指定的属性。
在实际开发中我们如何去使用
interface User {id:number,username:string,password:string,email:string
}// 使用Omit从User类型中排除password和email字段创建PublicUserInfo类型
type PublicUserInfo OmitUser,password | email;const mockUser {id:1,username:jack,email:jack163.com,password:hashed_password
}// 登录函数验证用户名和密码是否匹配若匹配则返回PublicUserInfo类型否则返回null
function login(username:string,password:string): PublicUserInfo | null {if(username mockUser.username password mockUser.password){return {id:mockUser.id,username:mockUser.username};}else{return null;}
}// 用户个人资料组件接收一个PublicUserInfo类型的user作为参数
function UserProfile({ user } : { user: PublicUserInfo }){return (divh1User Profile/h1pid:{user.id}/ppusername:{user.username}/p/div)
}const App () {// 模拟用户登录const loggedUser login(jack,hashed_password)return (divh1在react中应用TS中omit类型/h1{ loggedUser ? UserProfile user{loggedUser} / : (pLogin file/p) }/div)
}export default App;得出的效果如下 这段代码演示了在React中如何应用TS中的Omit类型。首先我们定义了一个user接口包含id.username、password和email字段。然后使用0mit类型从User类型中排除了password和email字段创建了PublicUserInfo类型。 接下来我们使用mockUser对象模拟一个用户信息包括id、username、email和password字段在login函数中我们验证输入的用户名和密码是否与模拟用户的信息匹配。如果匹配则返回个包含id和username字段的PublicUserInfo对象;否则返回nu11。 UserProfile组件接收一个user参数类型为PublicUserInfo并展示用户的个人资料最后在App组件中模拟用户登录并根据登录状态渲染不同的内容