大家。

我需要在React上获取功能组件的大小。该项目正在使用Typescript,因此我需要输入函数和其他东西。我尝试使用useRef()钩子像这样:

function MyComponent (): JSX.Element {
  const targetREf = useRef<HTMLDivElement>() // I'm typing useRef like this.
  const [boxHeight, setBoxHeight] = useState()

  useLayoutEffect((): void => {
    setBoxHeight(targetRef.current && targetRef.current.getClientBoundingRect())
  }, [targetRef.current])
}



问题出在getClientBoundingRect()上。

打字稿说:Property 'getClientBoundingRect' does not exist on type 'HTMLDivElement'.

如何键入useRef()以使用getClientBoundingReact

我正在使用React 16.8.6和Typescript 3.4.5。

谢谢!

最佳答案

我认为您拼错了函数的名称。它称为:

getBoundingClientRect不是getClientBoundingReact。

希望这可以帮助。

09-27 04:15