【发布时间】:2021-05-15 14:29:51
【问题描述】:
我有一个使用 recharts 绘制条形图的 React 应用程序。我使用一个函数来检查数据并决定是否对单元格的角进行圆角处理。如下所示:
function customizedCell(this: { column: number; color: string }, entry, index, array) {
// Logic to determine which corners to round.
return <Cell key={index} fill={this.color} radius={[0, 30, 30, 0]} />;
}
它是从一个反应组件内部调用的,如下所示:
<Bar dataKey="mykey" stackId="1">
{this.data.map(customizedCell, { column: 3, color: '#AABBCC' })}
</Bar>
一切正常,但是当我使用 npm 运行应用程序时,半径值数组中的每个数字都会出现如下警告:
TS2322: Type 'number' is not assignable to type 'string'.
如何避免此警告? radius={'[0, 30, 30, 0]'}、radius={'0 30 30 0'}等会破坏代码(无舍入效果)。
【问题讨论】:
-
Cell来自哪里?类型可能是错误的,但不清楚它们是否是您编写的类型。 -
Cell 是一个 recharts 组件,用于在堆叠条中呈现块。你说的对。
| 的“半径”与 | 的“半径”不同,它只取一个值而不是四个。所以不知何故使用错误的设置会得到想要的结果,但使用正确的设置不会。
标签: reactjs typescript visual-studio-code recharts