Module ReasonReact
external null: reactElement = "BS:4.0.7 @@$null@@""null";
external string: string => reactElement = "%identity";
external array: array(reactElement) => reactElement = "%identity";
external refToJsObj: reactRef => Js.t({.. }) = "%identity";
external createElement: reactClass => ?props:Js.t({.. }) => array(reactElement) => reactElement = "BS:4.0.721-B@B%props@@@-createElement%react@A@""createElement";
external cloneElement: reactElement => ?props:Js.t({.. }) => array(reactElement) => reactElement = "BS:4.0.711-B@B%props@@@,cloneElement%react@A@""cloneElement";
external createElementVerbatim: 'a = "BS:4.0.7@@-createElement%react@@""createElement";
type reactClassInternal
= reactClass
;type renderNotImplemented
=
;|
RenderNotImplemented
type element
=
;|
Element(component) : element
type jsPropsToReason('jsProps)
= Js.Internal.fn([ `Arity_1('jsProps) ], component)
;type jsElementWrapped
= option((key:Js.nullable(string) => ref:Js.nullable((Js.nullable(reactRef) => unit)) => reactElement))
;type component
=
{
debugName: string,
reactClassInternal: reactClassInternal,
jsElementWrapped: jsElementWrapped,
render: unit => reactElement,
}
;
let anyToUnit: 'a => unit;
let anyToTrue: 'a => bool;
let renderDefault: unit => reactElement;
let convertPropsIfTheyreFromJs: 'a => string => 'b;
let createClass: string => reactClass;
let component: string => component;
let statelessComponent: string => component;
let element: ?key:string => ?ref:(Js.nullable(reactRef) => unit) => component => reactElement;
let wrapReasonForJs: component:component => jsPropsToReason('jsProps) => reactClassInternal;
module WrapProps: { ... };
let wrapJsForReason: reactClass:reactClass => props:'a => 'b => component;
module Router: { ... };