компонент, который принимает через пропсы другой компонент, пропсы этого другого компонента и некоторое кол-во дополнительных пропсов?
https://codesandbox.io/s/loving-wing-n5vg7z?file=/src/App.tsx
type Props = { component: React.FunctionComponent<ComponentProps & AdditionalProps> } Но, в таком случае, у компонента должен быть тот же тип ( React.FunctionComponent<ComponentProps & AdditionalProps> )
Хотелось бы, чтобы Component, который передается в пропсах был через дженерик, чтобы можно было передавать в "Обертку" разные компоненты. Обрисовал кейс в общих чертах в сандбоксе. Сори, что сразу более подробно не описал.
Чтобы внести ещё больше конкретики - хочу реализовать "обертку", которая будет коннектить Formik к полю (хотя это уже наверно не относится к тс и лишние подробности). Что-то типа const Component = (props) => { const { Component, ...otherProps } = props; const [fieldProps] = useField(otherProps.name); return <Component {...otherProps} {...fieldProps} /> };
Понятно, что там ещё типизацию надо будет доделывать, но думаю, что с этим проблем не будет, затык возник там, где описал.
компонент это статическая информация, его не нужно пробрасывать пропсами. вам нужен HOC. типизируется даже так плохо. google по запросу typescript hoc подскажет
Обсуждают сегодня