Как создать ссылку с использованием Typescript и styled-компонентов - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь добавить ref к компоненту React следующим образом:

const Dashboard: React.FC = () => {
  const [headerHeight, setHeaderHeight] = useState(0);

  const headerRef = React.createRef<HTMLInputElement>();
  useEffect(() => {
    // @ts-ignore: Object is possibly 'null'
    setHeaderHeight(ref.current.clientHeight)
  });

  return (
    <Root>
      <Header ref={headerRef} />

      <div>other contents</div>             
    </Root>
  );
};

<Header /> - это просто React.FC. TS выдает ошибку:

Тип '{ref: RefObject;} 'нельзя присвоить типу IntrinsicAttributes & {children ?: ReactNode;}». Свойство ref не существует для типа IntrinsicAttributes & {children ?: ReactNode;} '

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 20 октября 2019

Похоже, вы пытаетесь дать ссылку, напечатанную для элемента ввода, на другой компонент React. Если вы пытаетесь переслать ссылку на элемент внутри компонента Header, вы можете использовать функцию React forwardRef .

...