Tất cả:Cách xuất Cấu phần cho hiển thị bên máy chủ trong React
Tôi khá mới đối với React, hiện tại tôi đang cố gắng làm cách hiển thị phía máy chủ, tôi sử dụng Express.js làm máy chủ của mình, vì vậy mã cũng giống như:
//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
});
});
Và
// components.js
var React = require("react");
var MyCom = React.createClass({
render: function(){
return (<h1>Hello, server side react</h1>);
}
});
module.exports = MyCom;
tôi sử dụng babel để transpile các JSX, nhưng khi tôi khởi động máy chủ, tôi không biết tại sao tôi cứ bị lỗi như:
Vi phạm bất biến: renderToString(): Bạn phải vượt qua Phản hồi hợp lệ.
Bất kỳ ai có thể đưa ra một số đầu mối tại sao điều này không hoạt động?
Cảm ơn
cảm ơn bạn đã trả lời. Khi tôi trở lại FB API, tôi nhận ra nó cũng cần phải là một yếu tố phong cách JSX. – Kuan
Bạn cũng có thể làm một cái gì đó như: 'reactDOM.renderToString (react.createFactory (componentFile)(), {});' Và nó sẽ hoạt động khi thành phần của bạn sống trong một tệp jsx riêng biệt – danielrvt