如何在typescript中定义公共接口
我想在一个函数中定义具有不同形式接口的有效负载 每个有效负载如下所示,我已将“UpdatePayload”接口定义如下:如何在typescript中定义公共接口,typescript,Typescript,我想在一个函数中定义具有不同形式接口的有效负载 每个有效负载如下所示,我已将“UpdatePayload”接口定义如下: /* ex) payload interface const interface updateBodyPayload = { title: ... content: ... } */ /* ex) payload interface const interface updateStatePayload = { type: .. count: .. } */
/*
ex) payload interface
const interface updateBodyPayload = {
title: ...
content: ...
}
*/
/*
ex) payload interface
const interface updateStatePayload = {
type: ..
count: ..
}
*/
// Payload Merge interface
export type updatePayload = Partial<updateBodyPayload | updateStatePayload>;
我犯了什么错误?如果你想让
updatePayload
输入合并表单updateBodyPayload
和updateStatePayload
的结果,那么它必须像:(&
而不是
)
如果要使
updatePayload
键入合并表单updateBodyPayload
和updateStatePayload
的结果,则必须如下所示:(&
而不是
)
// function.ts
const exec = (body: updatePayload) => {
const { title, content, type, count } = body;
// -> property 'title', ... does not exists on type updatePayload
}
type updatePayload = Partial<updateBodyPayload & updateStatePayload>;
type updatePayload = {
title?: string;
content?: string;
type?: string;
count?: number;
}