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
我正在尝试在下一个 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