mirror of https://github.com/vuejs/core.git
refactor: use shared options for component effect runners
This commit is contained in:
parent
46524a0f0f
commit
f2116054a0
|
@ -18,6 +18,10 @@ import { TEXT, CLASS, STYLE, PROPS, KEYED, UNKEYED } from './patchFlags'
|
|||
import { queueJob, queuePostFlushCb, flushPostFlushCbs } from './scheduler'
|
||||
import { effect, stop } from '@vue/observer'
|
||||
|
||||
const sharedEffectOptions = {
|
||||
scheduler: queueJob
|
||||
}
|
||||
|
||||
function isSameType(n1: VNode, n2: VNode): boolean {
|
||||
return n1.type === n2.type && n1.key === n2.key
|
||||
}
|
||||
|
@ -347,8 +351,7 @@ export function createRenderer(options: RendererOptions) {
|
|||
const instance: ComponentInstance = (vnode.component = createComponentInstance(
|
||||
vnode
|
||||
))
|
||||
instance.update = effect(
|
||||
() => {
|
||||
instance.update = effect(() => {
|
||||
if (!instance.vnode) {
|
||||
// initial mount
|
||||
instance.vnode = vnode
|
||||
|
@ -386,11 +389,7 @@ export function createRenderer(options: RendererOptions) {
|
|||
queuePostFlushCb(instance.u)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
scheduler: queueJob
|
||||
}
|
||||
)
|
||||
}, sharedEffectOptions)
|
||||
}
|
||||
|
||||
function patchChildren(
|
||||
|
|
Loading…
Reference in New Issue