react-view-engine

0.0.1 • Public • Published

This is a library for allowing server and client side rendering of react components.

npm install react-view-engine --save

then in your express app.js

var engine = require('./react-view-engine');

//Use this function to initialize node-jsx, if your react files are .jsx
engine.initJSX()

app.engine('js', engine.engine);
app.use(engine.handler);

from then on you can use the normal res.render function of express.

The react view must be loaded normally to the clientside somewhere.

In your react view you must add the loadProps(View, View.displayName) if you want to load the view props on the clientside.

/**
 * @jsx React.DOM
*/

var React = require('react');

var ClientApp = React.createClass({
  render: function() {
    return (
      <html>
        <head>
          <script src="/js/client.js"/>
        </head>
        <body>
          <h1>{this.props.name}</h1>
        </body>
      </html>
    );
  }
});

module.exports = ClientApp;

if(typeof window != "undefined"){
  window.addEventListener('load', function(){
    loadProps(ClientApp, ClientApp.displayName)
  })
}

/react-view-engine/

    Package Sidebar

    Install

    npm i react-view-engine

    Weekly Downloads

    19

    Version

    0.0.1

    License

    ISC

    Last publish

    Collaborators

    • eoinmurray