File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -4,15 +4,18 @@ module ReactDOM
44 , findDOMNode
55 , renderToString
66 , renderToStaticMarkup
7+ , refToNode
78 ) where
89
910import Control.Monad.Eff (Eff )
1011import Control.Monad.Eff.Uncurried (runEffFn1 , EffFn4 , EffFn1 , runEffFn4 )
12+ import DOM (DOM )
13+ import DOM.Node.Types (Element , Node )
1114import Data.Function.Uncurried (runFn1 , Fn1 )
1215import Data.Maybe (Maybe (..))
13- import DOM ( DOM )
14- import DOM.Node.Types ( Element )
15- import React ( ReactElement , ReactComponent )
16+ import Data.Nullable ( 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.
1821render
@@ -66,3 +69,9 @@ foreign import findDOMNodeImpl
6669foreign import renderToStringImpl :: Fn1 ReactElement String
6770
6871foreign import renderToStaticMarkupImpl :: Fn1 ReactElement String
72+
73+ refToNode :: Nullable Ref -> Maybe Node
74+ refToNode ref = toMaybe (coerce ref)
75+ where
76+ coerce :: Nullable Ref -> Nullable Node
77+ coerce = unsafeCoerce
You can’t perform that action at this time.
0 commit comments