An open API service indexing awesome lists of open source software.

https://github.com/co2-git/reacted-express

Express middleware to render React components
https://github.com/co2-git/reacted-express

Last synced: about 1 year ago
JSON representation

Express middleware to render React components

Awesome Lists containing this project

README

          

reacted-express
===

React rendering server-side using Express

# Install

```bash
npm install -s reacted-express
```

# Usage

```js
// Your React component you want to render server-side
// components/app.jsx
import React from 'react';

export default class App extends React.Component {
render () {
return (

Hello { this.props.person }


);
}
}

// In your express file

// Use reacted express as a middleware in your express file

import renderReact from 'reacted-express';

// ...

app = express();

// Renders App component as a HTML view

app.use('/', renderReact(App, { person : 'Joe' }));

// Voila!

// ...
```

# Inject a React component into a HTML source

Sometimes you want to inject your main component into a HTML source.

```html

Test React App

Loading

window.reactProps = /* props */
```

```js

// ...

app = express();

// Will render the source of index.html
// ... and replace 'Loading' by the HTML of MyComponent

app.use(renderReact(App, { person : 'Jessie' }, {
inject : {
into : 'index.html',
where : 'Loading',
// where to copy props
props : '/* props */' // will output { "person" : "Jessie" }
}
}));

// ...

```

# Pass `props` to client

```js
app.use(renderReact(App, (req, res) => {}, { send : false }));

app.use((req, res, next) => {
req.reactedExpress.rendered
});
```