From 9e031275d7be2c4eed61b76fe2bd2eeed6e54e1f Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E7=99=BD=E9=9B=BE=E4=B8=89=E8=AF=AD?= <32354856+baiwusanyu-c@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:16:33 +0800 Subject: [PATCH] fix: throw error without `script` block (#61) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Co-authored-by: 三咲智子 Kevin Deng --- packages/runtime-vapor/src/component.ts | 2 +- packages/runtime-vapor/src/render.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) 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)) -- 2.47.2