Installation
Add following dependency to your ReScript project (in case you don't have any project yet, check out the installation instructions in the manual):
npm install reason-react --save
Then add the following setting to your existing bsconfig.json
:
JSON{
"reason": { "react-jsx": 3 },
"bs-dependencies": ["reason-react"]
}
To test your setup, create a new .res
file in your source directory and add the following code:
RES// src/Test.res
@react.component
let make = () => {
<div> {React.string("Hello World")} </div>
}
Now rerun your build with bsb -make-world
and you should see a successful build.
Exposed Modules
After a successful installation, ReasonReact will make following modules available in your project's global scope:
React
: Bindings to ReactReactDOM
: Bindings to the ReactDOMReactDOMServer
: Bindings to the ReactDOMServerReactEvent
: Bindings to React's synthetic eventsReactDOMStyle
: Bindings to the inline style APIReasonReactRouter
: A simple, yet fully featured router with minimal memory allocations
Deprecated Modules
ReasonReact has gone a long way, so we still keep around a few modules for legacy reasons. We will deprecate them in the future in favor of...
ReasonReact
->React
ReactDOMRe
->ReactDOM
ReactDOMServerRe
->ReactDOMServer
ReasonReactCompat
-> no replacement needed
Actual usage and for each module will be discussed in the rest of this documentation.