react-router-render
Render isomorphic React apps and components in Node.
- Using React Router
Compatible with React Router 5.
An example implementation of the companion package @sequencemedia/react-router-redux-render
can be found in react-router-pagination-io.
Example
In Express:
If React Router matches the pathname
to a <Route />
then renderToString
returns a string.
If renderToString
encounters an error then it throws a 500 Internal Server Error
.
If renderToString
cannot match the pathname
to a <Route />
then it throws a 404 Not Found
.
In this package
react-router-render
exports three functions:
renderToString
renderToStaticMarkup
render
renderToString
generates <html />
including the attributes that React uses in ReactDOM.hydrate()
. It implements ReactDOMServer.renderToString()
.
renderToStaticMarkup
doesn't include those attributes. It's useful for using React as a rendering engine for static pages. It implements ReactDOMServer.renderToStaticMarkup()
.
render
executes renderToString
but returns a Promise
which resolves to a string.
Companion packages
@sequencemedia/react-router-redux-render
for React Router apps (with Redux)@sequencemedia/react-redux-render
for React Redux apps (without React Router)@sequencemedia/react-render
for React apps (without React Router or Redux)