我有一个如下所示的基类型:
type MyForm = {
email: string;
password: string;
}
有没有办法让MyForm变成:
type MyFormOptional = {
email?: string | null;
password?: string | null;
}
仅仅通过使用MyForm并对其进行转换?
我有一个如下所示的基类型:
type MyForm = {
email: string;
password: string;
}
有没有办法让MyForm变成:
type MyFormOptional = {
email?: string | null;
password?: string | null;
}
仅仅通过使用MyForm并对其进行转换?
可以,您可以通过?
mapping modifier创建一个mapped type,使每个属性都是可选的,并在每个属性类型的基础上添加null
:
type PartialAndNullable<T> =
{ [K in keyof T]?: T[K] | null }
type MyFormOptional = PartialAndNullable<MyForm>
/* type MyFormOptional = {
email?: string | null;
password?: string | null;
} */