Devilz_1
@Devilz_1
Frontend-Developer

Обязательный параметр из 2-х необязательных, как такое можно описать?

Есть тип
export type PropsType = {
    param1?: string;
    param2?: string;
};


Это тип компоненты. В компонент динамически приходит либо param1 либо param2. Исходя из вышеописанного типа, в компонент может вообще ничего не приходить, но мне постоянно приходит либо либо param1 либо param2. исходя из этого требования, как можно описать такой тип?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 2
yarkov
@yarkov
Помог ответ? Отметь решением.
type param1 = {
    param1: string
};
type param2 = {
    param2: string
};

export type PropsType = param1 | param2;


Так?
Ответ написан
john36allTa
@john36allTa
alien glow of a dirty mind
Судя из вопроса вижу это (ответ выше конечно лучше):
export type Some = {
    p1?: string,
    p2?: string
}
function isEmpty(o: Object): boolean{
    return Object.keys(o).length === 0
}
let a: Some = {}, 
    b: Some = {p1: "Value"}
console.log(`Object <a>${ isEmpty(a) ? '' : ' not ' } empty`);
// Object <a> empty
console.log(`Object <b>${ isEmpty(b) ? '' : ' not ' } empty`);
// Object <b> not  empty

А так можете стринги к набору значений ещё привести и сделать конструкцию как в ответе Алексей Ярков
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы