Mobx Auto运行 运行 过于频繁/在某些情况下需要跳过/运行 仅在完成后

Mobx Autorun running too often / need it to skip in some cases / run only after finished

我知道这不是最佳实践,但它是迄今为止我找到的最高效的解决方案。它监视一个对象,并在 auto运行.

中转换该对象

此设置适用于小型数据集,但当有大量更改时,它会卡在“100 次循环且未稳定”错误中。

我想知道是否有某种方法可以使其仅迭代一次/整理所有更改并一次应用它们。

我已经尝试了很多解决方案/变通方法,涉及计时器、深度对象比较(即如果它没有改变就不要运行)等,但它们要么禁用自动运行 或导致性能极差。

我想总结一下:

如果没有一些关于您正在做的事情的最小代码示例,很难说出任何有用的东西。但听起来你正在读取和修改自动运行中的相同数据,这引入了循环。考虑使用 reaction,它可以让您更好地区分您想听取哪些数据做出反应,以及您希望在发生更改后采取的行动