Как сделать зависимые пропсы в компоненте? [React] [TypeScript]

Есть компонент, он принимает поля type и users. Как сделать так, чтобы в зависимости от type, поле users было обязательным. Например если type required, то тогда users обязательно нужно передавать в компонент. А если type !== required то тогда users не нужно передавать в компонент.

interface iCard {
   type: 'required' | 'not-required;
   users: iUsers[];
}

const Card: React.FC<iCard> = ({ type, users }) => {
   ...
}

Ответы (1 шт):

Автор решения: HaZcker
interface ICardRequired {
  type: 'required';
  users: iUsers[];
}

interface ICardNotRequired {
  type: 'not-requiered';
  users?: iUsers[];
}

type Props = ICardRequired | ICardNotRequired


const Card: React.FC<Props> = ({type, users}) => {
   ...
}

UPD
Подобный вопрос уже был задана на англоязычной версии stackoverflow

Ознакомиться с ответами вы можете здесь:
https://stackoverflow.com/questions/58630750/react-typescript-component-with-two-different-prop-interfaces

→ Ссылка