Skip to content

Commit 043766c

Browse files
committed
refactor: use strong reference for vnode on element
1 parent 511d9f0 commit 043766c

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

packages/qwik/src/core/client/vnode-diff.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,7 @@ export const vnode_diff = (
759759

760760
const element = vNode[ElementVNodeProps.element] as QElement;
761761
if (!element.vNode) {
762-
element.vNode = new WeakRef(vNode);
762+
element.vNode = vNode;
763763
}
764764

765765
needsQDispatchEventPatch =

packages/qwik/src/core/client/vnode.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ export const vnode_newElement = (element: Element, elementName: string): Element
216216
assertTrue(vnode_isElementVNode(vnode), 'Incorrect format of ElementVNode.');
217217
assertFalse(vnode_isTextVNode(vnode), 'Incorrect format of ElementVNode.');
218218
assertFalse(vnode_isVirtualVNode(vnode), 'Incorrect format of ElementVNode.');
219-
(element as QElement).vNode = new WeakRef(vnode);
219+
(element as QElement).vNode = vnode;
220220
return vnode;
221221
};
222222

@@ -235,7 +235,7 @@ export const vnode_newUnMaterializedElement = (element: Element): ElementVNode =
235235
assertTrue(vnode_isElementVNode(vnode), 'Incorrect format of ElementVNode.');
236236
assertFalse(vnode_isTextVNode(vnode), 'Incorrect format of ElementVNode.');
237237
assertFalse(vnode_isVirtualVNode(vnode), 'Incorrect format of ElementVNode.');
238-
(element as QElement).vNode = new WeakRef(vnode);
238+
(element as QElement).vNode = vnode;
239239
return vnode;
240240
};
241241

@@ -684,7 +684,7 @@ export const vnode_locate = (rootVNode: ElementVNode, id: string | Element): VNo
684684
} else {
685685
refElement = id;
686686

687-
const vNode = (refElement as QElement).vNode?.deref();
687+
const vNode = (refElement as QElement).vNode;
688688
if (vNode) {
689689
return vNode;
690690
}

packages/qwik/src/core/shared/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export type HostElement = VNode | ISsrNode;
5959

6060
export interface QElement extends HTMLElement {
6161
qDispatchEvent?: (event: Event, scope: QwikLoaderEventScope) => boolean;
62-
vNode?: WeakRef<VNode>;
62+
vNode?: VNode;
6363
}
6464

6565
export type qWindow = Window & {

0 commit comments

Comments
 (0)