From 94a724e49bd8887d3c3bba1551f6f7415c64eb0a Mon Sep 17 00:00:00 2001 From: Stephen Liu <750188453@qq.com> Date: Mon, 19 Sep 2022 20:08:36 +0800 Subject: [PATCH] perf(word-cloud): reduce render to improve performance (#21504) --- .../plugins/plugin-chart-word-cloud/package.json | 1 + .../plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/superset-frontend/plugins/plugin-chart-word-cloud/package.json b/superset-frontend/plugins/plugin-chart-word-cloud/package.json index 35d514b799..cdf87a66a4 100644 --- a/superset-frontend/plugins/plugin-chart-word-cloud/package.json +++ b/superset-frontend/plugins/plugin-chart-word-cloud/package.json @@ -36,6 +36,7 @@ }, "peerDependencies": { "@types/react": "*", + "@types/lodash": "*", "@superset-ui/chart-controls": "*", "@superset-ui/core": "*", "react": "^16.13.1" diff --git a/superset-frontend/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx b/superset-frontend/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx index 61f3e7977a..2cedd648aa 100644 --- a/superset-frontend/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx +++ b/superset-frontend/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx @@ -31,6 +31,7 @@ import { seed, CategoricalColorScale, } from '@superset-ui/core'; +import { isEqual } from 'lodash'; const seedRandom = seed('superset-ui'); export const ROTATION = { @@ -134,8 +135,8 @@ class WordCloud extends React.PureComponent< const { data, encoding, width, height, rotation } = this.props; if ( - prevProps.data !== data || - prevProps.encoding !== encoding || + !isEqual(prevProps.data, data) || + !isEqual(prevProps.encoding, encoding) || prevProps.width !== width || prevProps.height !== height || prevProps.rotation !== rotation