AUR0226

Error Message

AUR0226: Maximum number of recursive effect run reached. Consider handle effect dependencies differently.

Description

This error occurs when an effect re-triggers itself repeatedly (directly or indirectly) until Aurelia’s recursion safeguard stops it. This usually means the effect both depends on and mutates the same observed state (creating a feedback loop).

Example Trigger

// ❌ Effect writes to the same state it reads
this.observation.run(() => {
  this.count = this.count + 1;
});

Solutions

  • Avoid writing to reactive dependencies inside the same effect that reads them.

  • Split responsibilities: compute derived values without side effects, and trigger side effects from explicit actions or separate effects with different dependencies.

Troubleshooting

  • Identify which assignment inside the effect causes the re-run and refactor it out.

  • Use logs/breakpoints to see which dependencies are being observed.

Last updated

Was this helpful?