Почему конструкция [key: string]: any не срабатывает?

Столкнулся с проблемой типизации компонент.

Пример: https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDG8BmUIjgcilQ3wG4AocmATzCTgGFdIA7JFmABRzAGcAeACoA+OAF44Ab3Jw4AExQwUALjiCA2gF0Ks9QGsk1VbxhRgLAOabVKFtQoBfCpRp043CHyGiJ02bIUlVQ1tGX8AG2ATJnAINg5VZHQYADoAMQZ+GNZ2Lh4BEWEdCKi8z14AfkSkNGg5fhMzSwAaOFtqYXIHSlqWE3cUC3NFYDjxOCFm4QAKSUCUVsjo5jjc1QBRAA8UcHCkRdKPPgdVI4LhAEpxUT9-IhgAVygWOGmw-39+OWAAN06PgH8LY7MB7eSKFBiOYQhxSFLwpZlY5wAD0-wBsn4KO+f3ecAuXUo5hgSCgmHQ9GyZykePmqhYDxAACNSVpirJNvTGSyoOy4EY4AzmaTHD04v1sqsEohiKkMllmGcfK9oUpWptWtQHFcxDc8fcni83hjMTj0Sb+GBhAAJJDhcIQLFWvEfLFmvEE7rkXr9ACCYDA1WS6QY42mOr1Hx98Hm43UAEZmgAmZoAZlCHwNz1eLs+7pNmM4g2GMFGL3mUPmsMRZyhkk5cET-NU8Yc1dKkviMChndysLRucx2N+5vxXSAA

Задача состоит в том, чтобы при передаче компоненты в Pagination, переданная компонента обязательно принимала один пропс data, а остальное необязательно (и неважно какой-тип).

Но несмотря на конструкцию [key: string]: any

type ComponentProps<T> = {
  data: T[];
  [key: string]: any;
};

ts продолжает требовать полное перечислений пропсов компоненты и я получаю ошибку:

Type 'PropsWithChildren<ComponentProps>' is missing the following properties from type 'CompProps': x, y

Собственно почему возникает эта ошибка и как её исправить? Заранее, спасибо, за любую помощь!)


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