el.getBoundingClientRect 不是 React 里程表 js 中带有 React 能见度传感器的函数吗?

el.getBoundingClientRect is not a function in react odometer js with react visibility sensor?

我正在尝试在下一个 js 中使用 react-odometer js 和 react-visibility-sensor。在这里我得到一个像图像一样的错误?怎么解决这个错误,请高手帮忙。

这是我的代码https://codesandbox.io/s/summer-dream-ysi00

import { useState, useEffect } from "react";
import dynamic from "next/dynamic";
import "odometer/themes/odometer-theme-default.css";
const Odometer = dynamic(import("react-odometerjs"), {
  ssr: false,
  loading: () => 0
});
import VisibilitySensor from "react-visibility-sensor";

export default function IndexPage() {
  const [odometerValue, setOdometerValue] = useState(0);
  const [view, setView] = useState(false);
  const onVisibilityChange = (isVisible) => {
    if (isVisible) {
      setView(true);
    }
  };
  useEffect(() => {
    setTimeout(() => {
      setOdometerValue(500);
    }, 10);
  }, []);
  return (
    <VisibilitySensor onChange={onVisibilityChange} offset={8} delayedCall>
      <Odometer
        value={view ? odometerValue : 0}
        format="(,ddd)"
        theme="default"
      />
    </VisibilitySensor>
  );
}

将里程表包裹在 div 中,就像这样

<VisibilitySensor onChange={onVisibilityChange} offset={8} delayedCall>
  <div>
    <Odometer
      value={view ? odometerValue : 0}
      format="(,ddd)"
      theme="default"
    />
  </div>
</VisibilitySensor>;

您应该会看到呈现“500”。

https://codesandbox.io/s/wonderful-fast-y3k4s?file=/pages/index.js