Skip to content

Commit 32c7419

Browse files
author
Marcin Szamotulski
committed
1 parent 5854e91 commit 32c7419

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/ReactDOM.purs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,18 @@ module ReactDOM
44
, findDOMNode
55
, renderToString
66
, renderToStaticMarkup
7+
, refToNode
78
) where
89

910
import Control.Monad.Eff (Eff)
1011
import Control.Monad.Eff.Uncurried (runEffFn1, EffFn4, EffFn1, runEffFn4)
12+
import DOM (DOM)
13+
import DOM.Node.Types (Element, Node)
1114
import Data.Function.Uncurried (runFn1, Fn1)
1215
import Data.Maybe (Maybe(..))
13-
import DOM (DOM)
14-
import DOM.Node.Types (Element)
15-
import React (ReactElement, ReactComponent)
16+
import Data.Nullable (toMaybe)
17+
import React (ReactElement, ReactComponent, Ref)
18+
import Unsafe.Coerce (unsafeCoerce)
1619

1720
-- | Render a React element in a document element. Returns Nothing for stateless components.
1821
render
@@ -66,3 +69,6 @@ foreign import findDOMNodeImpl
6669
foreign import renderToStringImpl :: Fn1 ReactElement String
6770

6871
foreign import renderToStaticMarkupImpl :: Fn1 ReactElement String
72+
73+
refToNode :: Ref -> Maybe Node
74+
refToNode ref = toMaybe (unsafeCoerce ref)

0 commit comments

Comments
 (0)