типа от аргумента?)
К примеру у меня есть интерфейс такого формата.
{
onPress?: () => void;
onPressIcon?:() => void;
}
И я хочу сделать так, что если пользователь назначил ивент на onPress, то ивент onPressIcon отключался в типах.
Что то типо такого, ответ на мой вопрос.
{onPress: () => void} | {onPressIcon: () => void} | {}?)
| с разными свойствами разрешает оба свойства
{onPress: () => void, onPressIcon: undefined} | {onPress: undefined, onPressIcon: () => void} А так?
tak ?
Похоже на то
Ну да, это сработало, правда ошибка не особо читаемая как по мне Type '{ leftIcon: { type: "big"; icon: Element; }; onPress: () => void; onPressLeftIcon: () => void; onPressTextContainer: () => void; textSet: [{ leftText: string; rightText: string; }]; rightIcon: Element; }' is not assignable to type 'IntrinsicAttributes & PropsWithChildren<ListProps>'. Type '{ leftIcon: { type: "big"; icon: Element; }; onPress: () => void; onPressLeftIcon: () => void; onPressTextContainer: () => void; textSet: [{ leftText: string; rightText: string; }]; rightIcon: Element; }' is not assignable to type '{ onPress?: undefined; onPressLeftIcon?: (() => void) | undefined; onPressRightIcon?: (() => void) | undefined; onPressTextContainer?: (() => void) | undefined; }'. Types of property 'onPress' are incompatible. Type '() => void' is not assignable to type 'undefined'.ts(2322)
Обсуждают сегодня