В моем проекте у меня есть компонент, который принимает два реквизита:
collapsible,
onToggle
Я изо всех сил пытаюсь создать тип для этих реквизитов в TypeScript. Проблема в том, что когда сворачиваемый true
, я хочу, чтобы функция onToggle была (): void
, но если сворачиваемый false
, я хочу, чтобы onToggle не был определен.
Я пробовал что-то вроде этого:
type Props = {
collapsible: boolean;
onToggle: collapsible ? () => void : undefined;
}
Но, очевидно, это не работает, поскольку складной объект не определен при определении типа onToggle. Как с этим быть? Возможно ли, чтобы типы зависели от значений?
collapsible
? Нельзя ли сделатьonToggle
необязательным и проверить, есть лиonToggle === undefined
? - person Ayush Gupta   schedule 09.06.2020collapsible: Math.random() > .5
- person Yury Tarabanko   schedule 09.06.2020