Skip to content

Commit fab8705

Browse files
committed
guard against sync rerenders
1 parent e1cb39d commit fab8705

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/renderStream/createRenderStream.tsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -267,10 +267,15 @@ export function createRenderStream<
267267
}
268268
const origRerender = ret.rerender
269269
ret.rerender = async function rerender(rerenderUi: React.ReactNode) {
270+
const previousRenderCount = stream.renders.length
270271
try {
271272
return await origRerender(rerenderUi)
272273
} finally {
273-
await stream.waitForNextRender()
274+
// only wait for the next render if the rerender was not
275+
// synchronous (React 17)
276+
if (previousRenderCount === stream.renders.length) {
277+
await stream.waitForNextRender()
278+
}
274279
}
275280
}
276281
return ret

0 commit comments

Comments
 (0)