diff --git a/packages/runtime-vapor/src/component.ts b/packages/runtime-vapor/src/component.ts index 5ff3b86b8..68e3c6942 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 422d5e689..f55acd576 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))