diff --git a/packages/reactivity/src/baseWatch.ts b/packages/reactivity/src/baseWatch.ts index eea988798..2b1c64dd2 100644 --- a/packages/reactivity/src/baseWatch.ts +++ b/packages/reactivity/src/baseWatch.ts @@ -215,13 +215,13 @@ export function baseWatch( const _cb = cb cb = (...args) => { _cb(...args) - effect?.stop() + effect.stop() } } else { const _getter = getter getter = () => { _getter() - effect?.stop() + effect.stop() } } } diff --git a/packages/runtime-core/src/componentOptions.ts b/packages/runtime-core/src/componentOptions.ts index 8196a8239..be0b20f84 100644 --- a/packages/runtime-core/src/componentOptions.ts +++ b/packages/runtime-core/src/componentOptions.ts @@ -842,7 +842,9 @@ export function createWatcher( const options: WatchOptions = {} if (__COMPAT__) { const instance = - getCurrentScope() === currentInstance?.scope ? currentInstance : null + currentInstance && getCurrentScope() === currentInstance.scope + ? currentInstance + : null const newValue = getter() if (