MCPcopy
hub / github.com/vuejs/core / componentUpdateFn

Function componentUpdateFn

packages/runtime-core/src/renderer.ts:1322–1594  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1320 optimized,
1321 ) => {
1322 const componentUpdateFn = () => {
1323 if (!instance.isMounted) {
1324 let vnodeHook: VNodeHook | null | undefined
1325 const { el, props } = initialVNode
1326 const { bm, m, parent, root, type } = instance
1327 const isAsyncWrapperVNode = isAsyncWrapper(initialVNode)
1328
1329 toggleRecurse(instance, false)
1330 // beforeMount hook
1331 if (bm) {
1332 invokeArrayFns(bm)
1333 }
1334 // onVnodeBeforeMount
1335 if (
1336 !isAsyncWrapperVNode &&
1337 (vnodeHook = props && props.onVnodeBeforeMount)
1338 ) {
1339 invokeVNodeHook(vnodeHook, parent, initialVNode)
1340 }
1341 if (
1342 __COMPAT__ &&
1343 isCompatEnabled(DeprecationTypes.INSTANCE_EVENT_HOOKS, instance)
1344 ) {
1345 instance.emit('hook:beforeMount')
1346 }
1347 toggleRecurse(instance, true)
1348
1349 if (el && hydrateNode) {
1350 // vnode has adopted host node - perform hydration instead of mount.
1351 const hydrateSubTree = () => {
1352 if (__DEV__) {
1353 startMeasure(instance, `render`)
1354 }
1355 instance.subTree = renderComponentRoot(instance)
1356 if (__DEV__) {
1357 endMeasure(instance, `render`)
1358 }
1359 if (__DEV__) {
1360 startMeasure(instance, `hydrate`)
1361 }
1362 hydrateNode!(
1363 el as Node,
1364 instance.subTree,
1365 instance,
1366 parentSuspense,
1367 null,
1368 )
1369 if (__DEV__) {
1370 endMeasure(instance, `hydrate`)
1371 }
1372 }
1373
1374 if (
1375 isAsyncWrapperVNode &&
1376 (type as ComponentOptions).__asyncHydrate
1377 ) {
1378 ;(type as ComponentOptions).__asyncHydrate!(
1379 el as Element,

Callers

nothing calls this directly

Calls 15

isAsyncWrapperFunction · 0.90
invokeArrayFnsFunction · 0.90
invokeVNodeHookFunction · 0.90
isCompatEnabledFunction · 0.90
startMeasureFunction · 0.90
renderComponentRootFunction · 0.90
endMeasureFunction · 0.90
pushWarningContextFunction · 0.90
updateHOCHostElFunction · 0.90
popWarningContextFunction · 0.90
toggleRecurseFunction · 0.85
hydrateSubTreeFunction · 0.85

Tested by

no test coverage detected