File tree Expand file tree Collapse file tree 2 files changed +16
-1
lines changed
Expand file tree Collapse file tree 2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -19,3 +19,7 @@ export function unmount(node) {
1919export function createPortal ( jsx ) {
2020 return ( node ) => ReactDOM . createPortal ( jsx , node ) ;
2121}
22+
23+ export function flushSync ( callback ) {
24+ return ( ) => ReactDOM . flushSync ( callback ) ;
25+ }
Original file line number Diff line number Diff line change @@ -100,4 +100,15 @@ foreign import createPortal :: JSX -> Element -> JSX
100100
101101-- | Create a text node.
102102text :: String -> JSX
103- text = unsafeCoerce
103+ text = unsafeCoerce
104+
105+ -- | `flushSync` lets you force React to flush any updates inside the provided
106+ -- | callback synchronously. This ensures that the DOM is updated immediately.
107+ -- |
108+ -- | ```purs
109+ -- | let
110+ -- | handleNewChatMessage msg = do
111+ -- | flushSync (setMessages (_ <> [msg]))
112+ -- | scrollToLastMessage
113+ -- | ```
114+ foreign import flushSync :: forall a . Effect a -> Effect a
You can’t perform that action at this time.
0 commit comments