Alle:Wie Komponente exportieren für Server-Seite in Rendering Reagieren
ich ziemlich neu bin jetzt zu reagieren, ich versuche, wie Server-Seite Rendering zu tun, verwende ich Express.js wie mein Server, so dass der Code wie ist:
//server.js
var express = require("express");
var ReactDOMServer = require("react-dom/server");
var MyCom = require("./components");
var domstring = ReactDOMServer.renderToString(MyCom);
var app = express();
app.get("/", function(req, res){
res.json({
name: "new com",
dom: domstring
});
});
Und
// components.js
var React = require("react");
var MyCom = React.createClass({
render: function(){
return (<h1>Hello, server side react</h1>);
}
});
module.exports = MyCom;
ich babel verwenden, um die JSX transpile, aber wenn ich Server zu starten, ich weiß nicht, warum ich wie immer Fehler halten:
Invariante Verletzung: renderToString(): Sie müssen ein gültiges ReactElement übergeben.
Kann jemand einen Hinweis geben, warum das nicht funktioniert?
Dank
danke für die antwort. Wenn ich zur FB API zurückkehre, merke ich, dass es auch ein JSX-Stilelement sein muss. – Kuan
Sie können auch Folgendes tun: 'reactDOM.renderToString (react.createFactory (componentFile)(), {});' Und es sollte funktionieren, wenn Ihre Komponente in einer separaten jsx-Datei lebt – danielrvt