Vue3 中的 watch() 会在组件卸载时自动停止吗?

man*_*nok 7 javascript watch reactive vuejs3

根据Vue3 DocwatchEffect卸载组件时将停止。

当在组件的 setup() 函数或生命周期挂钩期间调用 watchEffect 时,观察器将链接到组件的生命周期,并在组件卸载时自动停止。

watch在自动停止方面是否有相同的行为?谢谢!

Tom*_*Tom 2

观察者在 setup() 内同步声明或绑定到所有者组件实例,并且当所有者组件被卸载时将自动停止。在大多数情况下,您无需担心自己会停止观察者。

源: https: //vuejs.org/guide/essentials/watchers.html#stopping-a-watcher

所以答案似乎是,如果您同步声明观察者,则可以,如果您异步声明则否。

它看起来像是您必须调用才能停止异步创建的观察者的watch()/watchEffect()返回函数。unwatch()

PS
这主要是@User28 的后续。您评论中的链接已过时,但我无法编辑它。