Skip to content

Commit b5dc78f

Browse files
authored
Merge pull request #96 from oslabs-beta/memoization
Enabled memoization of Arc by passing same reference values when no updates happened
2 parents 0dfae09 + 7a48833 commit b5dc78f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/charts/PieChart/PieChart.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ export default function PieChart({
119119
.value((d: any) => d[value]);
120120

121121
const pie: any = pieGenerator(data);
122+
const propsData = useMemo(
123+
() =>
124+
pie.map((d: any) => ({ [label]: d.data[label], [value]: d.data[value] })),
125+
[data]
126+
);
122127

123128
// ********************
124129
// STEP 4. Define styles
@@ -237,7 +242,7 @@ export default function PieChart({
237242
{pie.map((d: any, i: number) => (
238243
<g key={`g + ${i}`}>
239244
<Arc
240-
data={{ [label]: d.data[label], [value]: d.data[value] }}
245+
data={propsData[i]}
241246
dataTestId={`pie-chart-arc-${i}`}
242247
key={d.label}
243248
fill={colorScale(keys[i])}

0 commit comments

Comments
 (0)