typescript - d3 TypeScript key function推荐的做法?
问题描述
我正试图围绕在 TypeScript 中为 d3 编写关键函数的最佳方法展开思考。
我有带有签名的数据{key: number, value: number}
,我想编写一个返回的键函数,该函数d.key
可以传递给.data()
函数。
就目前而言,以下工作:
dataset = {key: number, value: number}[];
key = (d: any) => d.key;
d3.selectAll('rect')
.data(this.dataset, this.key)
但是,每当我尝试如下定义关键功能时:
key = (d: {key: number, value: number}) => d.key;
我根据重载得到以下错误.data()
:
Overload 1 of 3, '(data: { key: number; value: number; }[], key?: ValueFn<SVGSVGElement | Element | EnterElement | Document | Window, unknown, string>): Selection<...>', gave the following error.
Argument of type '(d: { key: number; value: number; }) => number' is not assignable to parameter of type 'ValueFn<SVGSVGElement | Element | EnterElement | Document | Window, unknown, string>'.
Type 'number' is not assignable to type 'string'.
Overload 2 of 3, '(data: ValueFn<SVGSVGElement, unknown, unknown[]>, key?: ValueFn<SVGSVGElement | Element | EnterElement | Document | Window, unknown, string>): Selection<...>', gave the following error.
Argument of type '{ key: number; value: number; }[]' is not assignable to parameter of type 'ValueFn<SVGSVGElement, unknown, unknown[]>'.
Type '{ key: number; value: number; }[]' provides no match for the signature '(this: SVGSVGElement, datum: unknown, index: number, groups: SVGSVGElement[] | ArrayLike<SVGSVGElement>): unknown[]'.
在 TypeScript 中使用 d3 时指定类型安全键函数的推荐方法是什么?
解决方案
推荐阅读
- java - 如何在java-spring应用程序中并行调用多个soap调用
- r - 将索引列表应用于数据框列表
- validation - 如何在 Dot Net Core 中使用 JWKS 验证 JWT 令牌
- c# - 为什么 NameValueCollection 实例初始化仍然用额外的逗号编译?
- codeigniter - 如何将 DHTMLX 库与 codeigniter 一起使用?
- c++11 - 如何在 set 使用比较器的情况下创建 set 的 STL 映射
- angular - Azure App Service 声称它正在运行我的 github 位,显然不是
- python-3.x - 在 Jupyter 笔记本中使用 python 请求和 asyncio 抓取 JavaScript 页面
- angular - Angular - 输入字段keydown事件不起作用
- c++ - while(getline(fin, str)){} 即使在达到 eof 后仍在处理数据