javascript - Değere dayalı gereken Typescript türü
Ben TypeScript'e yeniyim ve başka bir type'ın değerine bağlı olarak bir type'ı zorunlu hale getirmenin bir yolu olup olmadığını merak ediyordum:
type TextInput = {
isValid?: boolean;
validMessage?: string;
}
isValid true olduğunda validMessage'i zorunlu yapmak mümkün mü?
Cevap #1
Ayrımcı birleşimleri kullanmanız gerekiyor:
type Valid = {
isValid: true;
validMessage: string
}
type Invalid = {
isValid: false;
}
type TextInput = Valid | Invalid
const foo = (props: TextInput) => {
if (props.isValid) {
props.validMessage // ok
} else {
props.isValid // false
props.validMessage // error
}
}
Oyun alanı
İlgili belgeler için ayrıca bakınız
