mirror of https://github.com/vuejs/core.git
refactor(runtime-core): prevent users from manually calling lifecycle hook function (#8731)
This commit is contained in:
parent
a498b4ef15
commit
ae36b1a664
|
@ -68,10 +68,15 @@ export function injectHook(
|
||||||
|
|
||||||
export const createHook =
|
export const createHook =
|
||||||
<T extends Function = () => any>(lifecycle: LifecycleHooks) =>
|
<T extends Function = () => any>(lifecycle: LifecycleHooks) =>
|
||||||
(hook: T, target: ComponentInternalInstance | null = currentInstance) =>
|
(hook: T, target: ComponentInternalInstance | null = currentInstance) => {
|
||||||
// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
|
// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
|
||||||
(!isInSSRComponentSetup || lifecycle === LifecycleHooks.SERVER_PREFETCH) &&
|
if (
|
||||||
injectHook(lifecycle, (...args: unknown[]) => hook(...args), target)
|
!isInSSRComponentSetup ||
|
||||||
|
lifecycle === LifecycleHooks.SERVER_PREFETCH
|
||||||
|
) {
|
||||||
|
injectHook(lifecycle, (...args: unknown[]) => hook(...args), target)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export const onBeforeMount = createHook(LifecycleHooks.BEFORE_MOUNT)
|
export const onBeforeMount = createHook(LifecycleHooks.BEFORE_MOUNT)
|
||||||
export const onMounted = createHook(LifecycleHooks.MOUNTED)
|
export const onMounted = createHook(LifecycleHooks.MOUNTED)
|
||||||
|
|
Loading…
Reference in New Issue