#typescript #d3.js #charts
Вопрос:
Есть график с nivo, мне нужно добавить машинопись — проблема в функции создания моего слоя createAreaLayer. В коде, который я отметил!!!, появляются ошибки. Может быть, нужны еще какие-то подробности?
const createAreaLayer = (shift: number, opacity: number, factor: number) =gt; { return ({ series, xScale, yScale }: any) =gt; { const areaGenerator = area() .x(d =gt; xScale(d.data.year)) !!! The "data" property is not exists in type "[number, number]" .y0(d =gt; yScale(d.data.value - d.data.value * shift)) .y1(d =gt; yScale(d.data.value d.data.value * shift * factor)) .curve(curveMonotoneX) return ( lt;gt; lt;Defs defs={[ { type: 'linearGradient', id: 'gradient', colors: [ ... ], x1: '0%', !!! An object literal can only use known properties. "x1" does not exist in type "LinearGradientDef" y1: '0%', x2: '100%', y2: '0%', } ]} /gt; lt;path d ={areaGenerator(series[0].data)} !!! The type "string | null" cannot be assigned to type "string | undefined". Type "null" cannot be assigned to type "string | undefined" .ts (2322) index.d.ts (2504, 9): The expected type comes from property "d" declared here in type "SVGProps lt;SVGPathElementgt;" fill="url(#gradient)" strokeWidth={0} /gt; lt;/gt; ) } };
Сама линия:
lt;ResponsiveLine data={[{ id: "value", data: data }]} ... layers={[ ... createAreaLayer(0.2, 0.2, 1), createAreaLayer(0.4, 0.03, 2), ]} /gt;