All:Jak wyeksportować komponent na stronie serwera renderowania w React
Jestem całkiem nowy, React, teraz próbuję jak to zrobić boczną rendering serwera, używam Express.js jako mojego serwera, więc kod jest jak:
//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
});
});
And
// components.js
var React = require("react");
var MyCom = React.createClass({
render: function(){
return (<h1>Hello, server side react</h1>);
}
});
module.exports = MyCom;
używam Babel transpile się JSX, ale kiedy zaczynam serwera, nie wiem dlaczego wciąż otrzymuję błąd jak:
Niezgodne naruszenie: renderToString(): Musisz podać prawidłową wartość ReactElement .
Czy ktoś może dać jakiś pomysł, dlaczego to nie działa?
Dzięki
dzięki za odpowiedź. Kiedy wracam do API FB, zdaję sobie sprawę, że musi to być również element stylu JSX. – Kuan
Możesz także zrobić coś takiego: 'reactDOM.renderToString (react.createFactory (componentFile)(), {});' I powinno działać, gdy twój komponent żyje w oddzielnym pliku jsx – danielrvt