From d81d310f9ef17e14cc4e8000347049d7779f4511 Mon Sep 17 00:00:00 2001 From: liujuping Date: Thu, 17 Nov 2022 12:02:19 +0800 Subject: [PATCH] fix: performance issues when focusing node --- packages/renderer-core/src/hoc/leaf.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/renderer-core/src/hoc/leaf.tsx b/packages/renderer-core/src/hoc/leaf.tsx index fb5eb5293..c12860a0f 100644 --- a/packages/renderer-core/src/hoc/leaf.tsx +++ b/packages/renderer-core/src/hoc/leaf.tsx @@ -399,10 +399,7 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, { /** 监听参数变化 */ initOnPropsChangeEvent(leaf = this.leaf): void { - const dispose = leaf?.onPropChange?.((propChangeInfo: PropChangeOptions) => { - if (!this.autoRepaintNode) { - return; - } + const handlePropsChange = debounce((propChangeInfo: PropChangeOptions) => { const { key, newValue = null, @@ -450,6 +447,12 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, { this.judgeMiniUnitRender(); }); + const dispose = leaf?.onPropChange?.((propChangeInfo: PropChangeOptions) => { + if (!this.autoRepaintNode) { + return; + } + handlePropsChange(propChangeInfo); + }); dispose && this.disposeFunctions.push(dispose); }