全く反応する方法:サーバ側はでレンダリングするためのコンポーネントをエクスポート
私は今、私は、サーバー側のレンダリングを行う方法をしようとしています、反応するようにかなり新しいです、私は私のサーバーとしてExpress.jsを使用するので、コードは以下のようである:
//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
});
});
そして
// components.js
var React = require("react");
var MyCom = React.createClass({
render: function(){
return (<h1>Hello, server side react</h1>);
}
});
module.exports = MyCom;
私はJSXをtranspileするバベルを使用しますが、私は、サーバーを起動したとき、私はのようなエラーを取得しておく理由は、私にはわからない:
不変違反:renderToString():有効な ReactElementを渡す必要があります。
誰かが何故このように機能しないのか分かりませんか?
おかげ
返信ありがとうございます。 FB APIに戻ると、JSXスタイルの要素である必要があることもわかります。 – Kuan
また、次のようなこともできます: 'reactDOM.renderToString(react.createFactory(componentFile)()、{});'コンポーネントが別のjsxファイルに存在する場合、 – danielrvt