【发布时间】:2021-03-08 23:11:30
【问题描述】:
我一直在尝试精简派生商店。如果您查看以下示例中的控制台日志,在递增存储 1 和存储 2,然后点击重置后,派生存储会发出 2 次更新。
你会如何使这个原子化或者去抖动它?例如,假设场景是派生商店根据商店 1 和 2 的组合值发出新的网络请求,如果它们一起更改,您不想触发 2 个网络请求?
https://svelte.dev/repl/a67c9d37aee348d988e8c30f60a139d9?version=3.28.0
编辑:实际上,只是添加了一个“反应式”控制台日志,这似乎可以消除(滴答声?)输出。
我想我已经回答了自己的问题?
【问题讨论】:
-
每次重置都会更改一个商店,因此派生商店会更新两次。然而,派生存储的输出值只有在整个更新循环运行完成后才会更新,正如您在反应日志中发现的那样。一件有趣的事情是,如果您的组件中没有任何(反应式?)对派生存储的引用,派生存储将不会运行或更新。
标签: svelte svelte-3 svelte-store