关于Partial

来源:4-11 精益求精 - Buton 组件编码第二部分

小帆f

2021-05-17

定义props类型时,使用了Partial,但是如果有必须传入的props项怎么办呢?

写回答

1回答

张轩

2021-05-18

同学你好 可以看一下这个帖子,https://github.com/Microsoft/TypeScript/issues/25760  要使用几个内置类型的结合 Partial,Omit 和 Pick

interface Foo {
    foo: string;
    bar: number;
    baz: boolean;
}
// 这里比较复杂但是,我们拆开说
// Omit<T, K> 省略掉某个属性,这里我们省略掉可选的属性
//Pick<T, K> 选取某个属性,这里我们选取要省略的属性
// 然后。Partial ,将选取到的属性设置为可选
// 经过这几步,我们就可以完成这个任务
type WithOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
type Test = WithOptional<Foo, 'foo'>
现在 Test 中 只有 foo 是可选的


1
1
infjer
mark
2021-06-26
共1条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2123 学习 · 959 问题

查看课程