Добрый день, нужна ref на дочерний компонент который находится на 2 уровне вложенности, использую forwardRef.
Родитель компонента, на который нужна ссылка:
interface BProps {
title: string;
innerRef?: React.Ref<CComponent>;
}
class BComponent extends React.Component<BProps> {
render() {
const {innerRef, ...props} = this.props;
return <CComponent {...props} ref={innerRef} />;
}
}
export default React.forwardRef<CComponent, BProps>((props, ref) => (
<BComponent
{...props}
innerRef={ref}
/>
));
Но теперь я не могу передать
props.children
пишет что chilren не ожидается в props компонента.
Мне пришлось закостылить и добавить в
BProps
children?: React.ReactNode
И
все работает, ref передается, все как надо, но меня не покидает чувство что
это халтура, и я где-то что-то не правильно сделал.
Подскажите пожалуйста, как правильно использовать forwardRef с классовыми компонентами в typescript?
Те примеры что я нашел, они не подходят, тк ref на обычный html элементы, и без указания props и тп.
В чем моя ошибка?