Skip to content

Commit 95db640

Browse files
Ni55aNcursoragent
andcommitted
fix(renderer): flushSync createRoot mount for layout-ready DOM
Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 49bb6ce commit 95db640

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)