打字稿:如何总结一个界面

时间:2021-07-20 03:16:44

标签: typescript

我想合并以下两个接口。

interface LanguageSet {
    'type': 'CHANGE_LANGUAGE'
    'language': 'ko-KR' | 'en-US'
}

interface TitleSet {
    'type': 'CHANGE_TITLE'
    'title': string
}

你能帮我吗? 谢谢! :)

+)更多信息 例如,'type' 为 CHANGE_LANGUAGE 时,您不能使用标题,但可以使用语言。但是,当'type'为CHANGE_TITLE时,您不能使用语言,但可以使用标题。

1 个答案:

答案 0 :(得分:2)

这是使用联合类型:

interface LanguageSet {
    'type': 'CHANGE_LANGUAGE'
    'language': 'ko-KR' | 'en-US'
}

interface TitleSet {
    'type': 'CHANGE_TITLE'
    'title': string
}

type MergedInterface = LanguageSet | TitleSet;

这意味着它可以是 LanguageSet 或 TitleSet。

相关问题