package server-reason-react
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Rendering React components on the server natively
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      server-reason-react-0.2.0.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=f7e93b2c24e6420ed7352f5b04ff028ea6ea8b9b91679bbce43aadfcae028f34
    
    
  sha512=b74f883d8fad95738b7dd9b51f23af27ef1b541939ad9b8ea65cfb0d48a217c2265ca9319e9355c7782bf223a5168ee4ff236677503afa301c8b7b08561fcd8c
    
    
  doc/index.html
server-reason-react
This is the documentation and API for server-reason-react, an implementation of react, react-dom and react-dom/server to run on the server with Reason/OCaml, with the purpose to Server-side render HTML markup from a reason-react application natively (for both SSR and SSG).
Why
Explained more about the motivation in this blog post sancho.dev/blog/server-side-rendering-react-in-ocaml and also in my talk about Server side rendering React natively with Reason at ReactAlicante 2023.
Guides
- Get started
- How universal code works
- How to structure the code
- Exclude client code from the native build
- Externals and melange attributes
Core API
Those are the core libraries of server-reason-react.
- ReactThe React library
- reactDom
Other libraries
Aside from the core, server-reason-react exposes some needed known libraries from melange or melange-community to help make components universal:
- Belt- server-reason-react.belt(equivalent to- Beltfrom- melange)
- Js- server-reason-react.js(equivalent to- Jsfrom- melange, very unsafe)
- URL- server-reason-react.url
- Webapi- server-reason-react.webapi(equivalent to- Webapifrom- melange-webapi)
This would eventually be extracted into their own packages
Next
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page