我当前正在使用从package加载的类型定义。
我的代码正在尝试使用D3.js生成的d
来设置path
元素的arc
svg属性。
我的代码如下:
const pie = d3.pie<SomeDataInterface>()
.value((d) => d.dataVal);
const arc = g.selectAll(".arc")
.data(pie(mockData));
const path = d3.arc();
arc.append("path")
.attr("d", path); // >> Where compilation fails
但是,我收到此编译错误:
TypeScript error: Argument of type 'Arc<any, DefaultArcObject>' is not assignable to parameter of type 'ValueFn<SVGPathElement, PieArcDatum<ID3Data>, string | number | boolean | null>'.
Types of parameters 'd' and 'datum' are incompatible.
看示例here,看来我可以在<any>
声明中声明path
类型。同样,我也尝试过使用Arc
来导入import { Arc } from "d3-shape";
的类型定义,其中包含实际的类型定义并按如下方式进行分配:
.attr("d", <Arc>path)
其中还收到编译警告。知道我可能会缺少哪种类型转换,具体在哪里?
这段代码正在处理here所示的示例。