Skip to content

Commit f340b0f

Browse files
test: fix failining.
1 parent 508677a commit f340b0f

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

src/modules/preview-runtime/iframe-preview-executor.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ const createIframeShellDocument = ({ channelId, parentOrigin, importMap }) => {
5555
const __knightedState = {
5656
entrySpecifier: '',
5757
reactRoot: null,
58-
renderedNode: null,
58+
renderedNodes: [],
5959
}
6060
6161
const __knightedRuntimeErrorFingerprints = new Set()
@@ -201,9 +201,13 @@ const createIframeShellDocument = ({ channelId, parentOrigin, importMap }) => {
201201
__knightedState.reactRoot = null
202202
}
203203
204-
if (__knightedState.renderedNode instanceof Node) {
205-
__knightedState.renderedNode.remove()
206-
__knightedState.renderedNode = null
204+
if (Array.isArray(__knightedState.renderedNodes)) {
205+
for (const node of __knightedState.renderedNodes) {
206+
if (node instanceof Node && node.parentNode) {
207+
node.parentNode.removeChild(node)
208+
}
209+
}
210+
__knightedState.renderedNodes = []
207211
}
208212
209213
document.querySelectorAll('knighted-preview-root').forEach(node => node.remove())
@@ -231,7 +235,7 @@ const createIframeShellDocument = ({ channelId, parentOrigin, importMap }) => {
231235
document.body.append(host)
232236
const root = createRoot(host)
233237
__knightedState.reactRoot = root
234-
__knightedState.renderedNode = host
238+
__knightedState.renderedNodes = [host]
235239
root.render(output)
236240
} else {
237241
const { jsx } = await import(runtimeSpecifiers.jsxDom)
@@ -241,8 +245,11 @@ const createIframeShellDocument = ({ channelId, parentOrigin, importMap }) => {
241245
throw new Error('Expected a function or const named App.')
242246
}
243247
248+
const domNodes =
249+
output instanceof DocumentFragment ? Array.from(output.childNodes) : [output]
250+
244251
document.body.append(output)
245-
__knightedState.renderedNode = output
252+
__knightedState.renderedNodes = domNodes
246253
}
247254
248255
__knightedEmit(__knightedMessageTypes.rendered)

0 commit comments

Comments
 (0)