Skip to content

Commit e7c283e

Browse files
authored
Merge pull request #66 from retejs/fix/sync-create-root-mount
fix(renderer): flushSync createRoot mount for layout-ready DOM
2 parents 49bb6ce + 95db640 commit e7c283e

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/renderer.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react'
22
import * as ReactDOM from 'react-dom'
3+
import { flushSync } from 'react-dom'
34

45
// React 18+ root type
56
interface Root {
@@ -58,7 +59,9 @@ export function getRenderer(props?: { createRoot?: CreateRoot }): Renderer {
5859
roots.set(wrapper, root)
5960
}
6061

61-
root.render(element)
62+
flushSync(() => {
63+
root.render(element)
64+
})
6265
return wrapper.firstElementChild ?? wrapper
6366
},
6467
unmount: (container: HTMLElement) => {

0 commit comments

Comments
 (0)