我想将 nivo 与 Next 一起使用,但是当我加载包含使用 nivo 制作的饼图的页面时,出现此错误:ReferenceError: ResizeObserver is not defined
.
我的Pie.js
组件:
import { ResponsivePie } from "@nivo/pie";
export const data = [
{
id: "c",
label: "c",
value: 80,
color: "hsl(8, 70%, 50%)",
},
{
id: "lisp",
label: "lisp",
value: 188,
color: "hsl(122, 70%, 50%)",
},
{
id: "go",
label: "go",
value: 161,
color: "hsl(111, 70%, 50%)",
},
];
export default function MyPie({ data }) {
return (
<ResponsivePie
data={data}
margin={{ top: 40, right: 80, bottom: 80, left: 80 }}
innerRadius={0.5}
padAngle={0.7}
cornerRadius={3}
activeOuterRadiusOffset={8}
borderWidth={1}
borderColor={{ from: "color", modifiers: [["darker", 0.2]] }}
arcLinkLabelsSkipAngle={10}
arcLinkLabelsTextColor="#333333"
arcLinkLabelsThickness={2}
arcLinkLabelsColor={{ from: "color" }}
arcLabelsSkipAngle={10}
arcLabelsTextColor={{ from: "color", modifiers: [["darker", 2]] }}
defs={[
{
id: "dots",
type: "patternDots",
background: "inherit",
color: "rgba(255, 255, 255, 0.3)",
size: 4,
padding: 1,
stagger: true,
},
{
id: "lines",
type: "patternLines",
background: "inherit",
color: "rgba(255, 255, 255, 0.3)",
rotation: -45,
lineWidth: 6,
spacing: 10,
},
]}
/>
)
};
我的chart.js
页面:
import MyPie, { data } from "../components/Pie";
import homeStyles from "../styles/Home.module.css";
function Chart() {
return (
<div className={homeStyles.divchart}>
<MyPie data={data}/>
</div>
);
};
export default Chart;
此错误仅在使用ResponsivePie
和不使用时出现Pie
。我还尝试让它与 React 项目一起使用,但虽然我没有收到此错误,但似乎没有显示任何内容。
编辑:
经过一番调查,@nivo/core
0.79.0依赖似乎有问题。我们应该在 GitHub 存储库上打开一个问题。我做了一些更改以检查它是否是由我的 Next.js 版本引起的,但该错误仅发生在 @nivo/core 0.79.0 中。