我有以下两个接口:
export interface IQuestion {
type: 'single' | 'sort'
prompt: string;
options: {
id: string,
text: string
}[]
}
export type ICurrentQuestion = {
correctAnswerId: string | string[],
question: IQuestion,
extraData?: IResultsAnswerData
}
如果问题类型是sort
,那么correctAnswerId
就是string[]
.我不想将类型移动到顶层,因为问题是发送给客户端的内容,所以我必须在两个级别上复制类型.从我的研究来看,我想做的似乎是不可能的,但我很难把我的头包装在这里的类型安全的最佳方式是什么.
首先,感谢那些聪明的人!:)