Skip to content

Instantly share code, notes, and snippets.

@r17x
Created March 16, 2020 18:20
Show Gist options
  • Save r17x/12a476da96908896a3aa80d3417138fa to your computer and use it in GitHub Desktop.
Save r17x/12a476da96908896a3aa80d3417138fa to your computer and use it in GitHub Desktop.
ReasonReact.useRef

reasonml/reason-react#407 (comment)

let inputRef = React.createRef();
<input ref={ReactDOMRe.Ref.domRef(inputRef)} type="text" />
If React.createRef is not available in your current version, simply use:
let inputRef = React.useRef(Js.Nullable.null);
<input ref={ReactDOMRe.Ref.domRef(inputRef)} type="text" />
In case that you want to convert Js.Nullable.t to option beforehand:
let inputRef = React.useRef(None);
<input ref=ref={ReactDOMRe.Ref.callbackDomRef(elem =>
    React.Ref.setCurrent(inputRef, Js.Nullable.toOption(elem))
)} type="text" />

alternative: https://stackoverflow.com/a/58689472/1148030

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment