diff --git a/packages/core/src/index.js b/packages/core/src/index.js index 6c80ef4e..9ada47ea 100644 --- a/packages/core/src/index.js +++ b/packages/core/src/index.js @@ -98,6 +98,10 @@ function replaceComponent(OldType, NewType, resetHookState) { vnode[VNODE_COMPONENT].constructor = NewType; } + vnode.type = NewType + vnode[VNODE_COMPONENT].__v = vnode; + vnode[VNODE_COMPONENT].__v.type = NewType; + if (resetHookState) { if ( vnode[VNODE_COMPONENT][COMPONENT_HOOKS] && diff --git a/packages/core/src/runtime/vnode.js b/packages/core/src/runtime/vnode.js index 01c77d51..83212137 100644 --- a/packages/core/src/runtime/vnode.js +++ b/packages/core/src/runtime/vnode.js @@ -30,13 +30,13 @@ options.vnode = vnode => { } } - vnode.type = foundType; + // vnode.type = foundType; if ( vnode[VNODE_COMPONENT] && 'prototype' in vnode.type && vnode.type.prototype.render ) { - vnode[VNODE_COMPONENT].constructor = vnode.type; + vnode[VNODE_COMPONENT].constructor = foundType; } } diff --git a/test/fixture/vite-preact-compat/package.json b/test/fixture/vite-preact-compat/package.json index 2b57936b..6de944e6 100644 --- a/test/fixture/vite-preact-compat/package.json +++ b/test/fixture/vite-preact-compat/package.json @@ -4,7 +4,7 @@ }, "dependencies": { "goober": "^2.0.36", - "preact": "^10.19.0" + "preact": "10.19.1" }, "devDependencies": { "@babel/core": "^7.22.1", diff --git a/test/fixture/vite-signals/package.json b/test/fixture/vite-signals/package.json index cf535667..da961717 100644 --- a/test/fixture/vite-signals/package.json +++ b/test/fixture/vite-signals/package.json @@ -4,7 +4,7 @@ }, "dependencies": { "@preact/signals": "^1.1.2", - "preact": "^10.19.0" + "preact": "10.19.1" }, "devDependencies": { "@babel/core": "^7.22.1", diff --git a/test/fixture/vite/package.json b/test/fixture/vite/package.json index 2b57936b..b1416110 100644 --- a/test/fixture/vite/package.json +++ b/test/fixture/vite/package.json @@ -4,7 +4,7 @@ }, "dependencies": { "goober": "^2.0.36", - "preact": "^10.19.0" + "preact": "10.18.1" }, "devDependencies": { "@babel/core": "^7.22.1",