Я использую реагирую на машинопись.
Я хочу требовать, чтобы только один параметр был принят от prop3
| prop4
. Я использую тип объединения следующим образом:
interface General {
prop1?: boolean
prop2?: boolean
}
interface Option1 extends General {
prop3: boolean
}
interface Option2 extends General {
prop4: boolean
}
type Option1orOtion2 = Option1 | Option2
Если я получу prop3
, я не хочу, чтобы prop4
было принято.
Когда я это делаю, я получаю ошибки о эти ценности. Чем я занимаюсь?
export default function({
prop1 = true,
prop2 = true,
prop3 = true, // error: Property 'prop3' does not exist on type 'Option1orOtion2'
prop4 = true // error: Property 'prop4' does not exist on type 'Option1orOtion2'
}: Option1orOtion2) {
return <></>
}
РЕДАКТИРОВАТЬ : Когда я делаю это с переменной, ошибок нет, но позвольте мне передать prop3
, а также prop4
, и я хотите получить сообщение об ошибке (Option1
или Option2
).
var data: Option1orOtion2 = {prop3: false, prop4: false}
Есть предложения?
Заранее спасибо!