diff --git a/catalog/src/signals/signal-element.ts b/catalog/src/signals/signal-element.ts index 018b8ed857..f083b68cb6 100644 --- a/catalog/src/signals/signal-element.ts +++ b/catalog/src/signals/signal-element.ts @@ -28,9 +28,14 @@ export function SignalElement(Base: T): return; } this._disposeEffect?.(); + let performingUpdate = true; this._disposeEffect = effect(() => { - this.isUpdatePending = true; - super.performUpdate(); + if (performingUpdate) { + performingUpdate = false; + super.performUpdate(); + } else { + this.requestUpdate(); + } }); } };