¿Cómo usar React.js para representar la plantilla del lado del servidor en Sails.js?

Estoy tratando de construir una aplicación isomorphing con Sails.js y React. La parte del lado del cliente es fácil. Pero me encuentro con problemas con la representación del lado del servidor.

Cuando trato de renderizar en el servidor un archivo * .jsx con React, obtengo esto:

renderToString(): You must pass a valid ReactElement

Estoy usando sailsjs, react y sails-hook-babel (para la sintaxis ES6).

./assets/components/Auth.jsx:

import React from 'react';

export class Auth extends React.Component {
  constructor(props) {
    super(props);
  }

  render() {
    return (
      <div className='auth'>
        Very simple element without any logic just for test server-rendering.
      </div>
    );
  }
}

./api/controllers/AuthController.js:

var Auth = require('./../../assets/components/Auth.jsx');
import React from 'react';

module.exports = {
    render: function (req, res) {
    //var markup = React.renderToString(
    //  Auth
    //); // This throws an error

    console.log(Auth); // {__esModule: true, Auth: [Function: Auth]}

    //res.view("layout", {app: markup});
  }
};

He intentado la sintaxis ES5 / ES6 en todas partes. El error ocurre cada vez. En los clientes, este Auth.jsx funciona bien (estoy usando webpack con babel-loader).

Respuestas a la pregunta(1)

Su respuesta a la pregunta