@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;


Но, само собой, ТС определяет пропсы как {}
  • Вопрос задан
  • 79 просмотров
Решения вопроса 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} />;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы