Задать вопрос
@djEban

Как унаследовать пропсы передаваемоего компонента в React?

Всем привет.

Нужно, чтоб при передаче компонента в качестве пропа, наследовались и его пропсы
Пример,
const Component: FC<ComponentProps> = ({ text }) => <></>;

const ComponentWrapper: FC<Type> = ({ component, ...rest }) => <Component {...rest} />

<ComponentWrapper component={Component} text="yes" /> // <---- надо,чтоб тут ТС унаследовал пропсы от Component


Пытался писать такое

type ComponentWrapper<T = {}> = {
  component: ComponentType<T>;
} & T;


Но, само собой, ТС определяет пропсы как {}
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
Seasle
@Seasle Куратор тега React
https://codesandbox.io/s/qna-q-1131330-55d4th
interface IWrapper<T> {
  component: T;
}

const Wrapper = <T extends React.ComponentType<any>>({
  component: Component,
  ...props
}: React.PropsWithChildren<IWrapper<T> & React.ComponentProps<T>>) => <Component {...props} />;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽