Module React

type element
type ('props, 'return) componentLike = 'props -> 'return
type 'props component = ('props, element) componentLike
val null : element
val float : float -> element
val int : int -> element
val string : string -> element
val array : element array -> element
val component : ('props, element) componentLike -> 'props component
val createElement : 'props component -> 'props -> element
val isValidElement : element -> bool
val cloneElement : element -> 'props -> element
val createElementVariadic : 'props component -> 'props -> element array -> element
val jsxKeyed : 'props component -> 'props -> ?key:string -> unit -> element
val jsx : 'props component -> 'props -> element
val jsxs : 'props component -> 'props -> element
val jsxsKeyed : 'props component -> 'props -> ?key:string -> unit -> element
val jsxFragment : 'element
type 'value ref = {
  1. mutable current : 'value;
}
module Ref : sig ... end
val createRef : unit -> 'a Js.nullable ref
module Children : sig ... end
module Context : sig ... end
val createContext : 'a -> 'a Context.t
val forwardRef : ('props -> 'a ref Js.Nullable.t -> element) -> 'props component
val memo : 'props component -> 'props component
val memoCustomCompareProps : 'props component -> ('props -> 'props -> bool) -> 'props component
module Fragment : sig ... end
module StrictMode : sig ... end
module Suspense : sig ... end
val useState : (unit -> 'state) -> 'state * (('state -> 'state) -> unit)
val useReducer : ('state -> 'action -> 'state) -> 'state -> 'state * ('action -> unit)
val useReducerWithMapState : ('state -> 'action -> 'state) -> 'initialState -> ('initialState -> 'state) -> 'state * ('action -> unit)
type ('input, 'output) callback = 'input -> 'output
val useSyncExternalStore : subscribe:((unit -> unit) -> (unit, unit) callback) -> getSnapshot:(unit -> 'snapshot) -> 'snapshot
val useSyncExternalStoreWithServer : subscribe:((unit -> unit) -> (unit, unit) callback) -> getSnapshot:(unit -> 'snapshot) -> getServerSnapshot:(unit -> 'snapshot) -> 'snapshot
val useEffect : (unit -> (unit -> unit) option) -> unit
val useEffect0 : (unit -> (unit -> unit) option) -> unit
val useEffect1 : (unit -> (unit -> unit) option) -> 'a array -> unit
val useEffect2 : (unit -> (unit -> unit) option) -> ('a * 'b) -> unit
val useEffect3 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c) -> unit
val useEffect4 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd) -> unit
val useEffect5 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e) -> unit
val useEffect6 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e * 'f) -> unit
val useEffect7 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) -> unit
val useInsertionEffect : (unit -> (unit -> unit) option) -> unit
val useInsertionEffect0 : (unit -> (unit -> unit) option) -> unit
val useInsertionEffect1 : (unit -> (unit -> unit) option) -> 'a array -> unit
val useInsertionEffect2 : (unit -> (unit -> unit) option) -> ('a * 'b) -> unit
val useInsertionEffect3 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c) -> unit
val useInsertionEffect4 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd) -> unit
val useInsertionEffect5 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e) -> unit
val useInsertionEffect6 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e * 'f) -> unit
val useInsertionEffect7 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) -> unit
val useLayoutEffect : (unit -> (unit -> unit) option) -> unit
val useLayoutEffect0 : (unit -> (unit -> unit) option) -> unit
val useLayoutEffect1 : (unit -> (unit -> unit) option) -> 'a array -> unit
val useLayoutEffect2 : (unit -> (unit -> unit) option) -> ('a * 'b) -> unit
val useLayoutEffect3 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c) -> unit
val useLayoutEffect4 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd) -> unit
val useLayoutEffect5 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e) -> unit
val useLayoutEffect6 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e * 'f) -> unit
val useLayoutEffect7 : (unit -> (unit -> unit) option) -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) -> unit
val useMemo : (unit -> 'any) -> 'any
val useMemo0 : (unit -> 'any) -> 'any
val useMemo1 : (unit -> 'any) -> 'a array -> 'any
val useMemo2 : (unit -> 'any) -> ('a * 'b) -> 'any
val useMemo3 : (unit -> 'any) -> ('a * 'b * 'c) -> 'any
val useMemo4 : (unit -> 'any) -> ('a * 'b * 'c * 'd) -> 'any
val useMemo5 : (unit -> 'any) -> ('a * 'b * 'c * 'd * 'e) -> 'any
val useMemo6 : (unit -> 'any) -> ('a * 'b * 'c * 'd * 'e * 'f) -> 'any
val useMemo7 : (unit -> 'any) -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) -> 'any
val useCallback : 'fn -> 'fn
val useCallback0 : 'fn -> 'fn
val useCallback1 : 'fn -> 'a array -> 'fn
val useCallback2 : 'fn -> ('a * 'b) -> 'fn
val useCallback3 : 'fn -> ('a * 'b * 'c) -> 'fn
val useCallback4 : 'fn -> ('a * 'b * 'c * 'd) -> 'fn
val useCallback5 : 'fn -> ('a * 'b * 'c * 'd * 'e) -> 'fn
val useCallback6 : 'fn -> ('a * 'b * 'c * 'd * 'e * 'f) -> 'fn
val useCallback7 : 'fn -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) -> 'fn
val useContext : 'any Context.t -> 'any
val useRef : 'value -> 'value ref
val useId : unit -> string
val useDeferredValue : 'a -> 'a
val useImperativeHandle0 : 'value ref Js.Nullable.t -> (unit -> 'value) -> unit
val useImperativeHandle1 : 'value ref Js.Nullable.t -> (unit -> 'value) -> 'a array -> unit
val useImperativeHandle2 : 'value ref Js.Nullable.t -> (unit -> 'value) -> ('a * 'b) -> unit
val useImperativeHandle3 : 'value ref Js.Nullable.t -> (unit -> 'value) -> ('a * 'b * 'c) -> unit
val useImperativeHandle4 : 'value ref Js.Nullable.t -> (unit -> 'value) -> ('a * 'b * 'c * 'd) -> unit
val useImperativeHandle5 : 'value ref Js.Nullable.t -> (unit -> 'value) -> ('a * 'b * 'c * 'd * 'e) -> unit
val useImperativeHandle6 : 'value ref Js.Nullable.t -> (unit -> 'value) -> ('a * 'b * 'c * 'd * 'e * 'f) -> unit
val useImperativeHandle7 : 'value ref Js.Nullable.t -> (unit -> 'value) -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) -> unit
module Uncurried : sig ... end
val startTransition : (unit -> unit) -> unit
val useTransition : unit -> bool * ((unit, unit) callback, unit) callback
module Experimental : sig ... end
val setDisplayName : 'props component -> string -> unit
val displayName : 'props component -> string option
val useDebugValue : 'value -> ?format:('value -> string) -> unit -> unit
module Event : sig ... end