From: 白雾三语 <32354856+baiwusanyu-c@users.noreply.github.com> Date: Wed, 13 Dec 2023 07:16:33 +0000 (+0800) Subject: fix: throw error without `script` block (#61) X-Git-Tag: v3.6.0-alpha.1~16^2~708 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e031275d7be2c4eed61b76fe2bd2eeed6e54e1f;p=thirdparty%2Fvuejs%2Fcore.git fix: throw error without `script` block (#61) Co-authored-by: 三咲智子 Kevin Deng --- diff --git a/packages/runtime-vapor/src/component.ts b/packages/runtime-vapor/src/component.ts index 5ff3b86b8f..68e3c6942f 100644 --- a/packages/runtime-vapor/src/component.ts +++ b/packages/runtime-vapor/src/component.ts @@ -20,7 +20,7 @@ export type FunctionalComponent = SetupFn & { } export interface ObjectComponent { props: ComponentPropsOptions - setup: SetupFn + setup?: SetupFn render(ctx: any): Block } diff --git a/packages/runtime-vapor/src/render.ts b/packages/runtime-vapor/src/render.ts index 422d5e689e..f55acd5760 100644 --- a/packages/runtime-vapor/src/render.ts +++ b/packages/runtime-vapor/src/render.ts @@ -50,11 +50,10 @@ export function mountComponent( const setupFn = typeof component === 'function' ? component : component.setup - - const state = setupFn(props, ctx) instance.proxy = markRaw( new Proxy({ _: instance }, PublicInstanceProxyHandlers), ) + const state = setupFn && setupFn(props, ctx) if (state && '__isScriptSetup' in state) { instance.setupState = proxyRefs(state) return (instance.block = component.render(instance.proxy))