@nickerlan

Возможно ли реализовать более изящную типизацию объектов и деструктивное присваивание?

Поймал себя на том, что постоянно пишу вот такие-вот странные конструкции, два раза повторяя себя в названии переменных:
export const Component = ({
  prop1,
  prop2,
  prop3,
}: {
  prop1: string;
  prop2: number;
  prop3: boolean;
})=>{
//...
}


Есть ли вариант изящнее это реализовать?
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
А ты для начала придумай синтаксис для этого, который бы не вступал в прямой кофликт с JS и при этом был интуитивен.)
Вот тут на тему много копий сломано, но, ИМХО, нет нормальных достойных релиза вариантов.)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@wonderingpeanut
Можно вынести тип пропсов в отдельный тип/интерфейс
type ComponentProps = {
  prop1: string;
  prop2: number;
  prop3: boolean;
}

и указать тип пропсов "ComponentProps"
export const Component = ({ prop1, prop2, prop3 }: ComponentProps) => {
  ...
}


Можно так же воспользоваться типом FC (дженерик) и передать этому типу тип пропсов
export const Component: FC<ComponentProps> = ({ prop1, prop2, prop3 }) => {
  ...
}
Ответ написан
Ваш ответ на вопрос

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

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