Ich versuche, eine einfache App einzurichten, in der ich das Rendering von React-Servern verwende.Server-Rendering wird ausgeführt, HTML wird zum Browser gesendet
Reagieren 0.14.8, Express 4.13.4.
const React = require('react');
const ReactDOMServer = require('react-dom/server');
const express = require('express');
const exphbs = require('express-handlebars');
const myApp = React.createFactory(require('./app/components/app.jsx'));
// ...express/handlebars setup stuff here
app.get('/', function(req, res) {
const html = ReactDOMServer.renderToString(myApp());
res.render('home', { content: html });
});
Meine html
Variable enthält das Markup, jedoch ist es entkommen und der Browser zeigt den HTML-Code.
Ich weiß über dangerouslySetInnerHTML()
, aber ich möchte wirklich nicht verwenden müssen. Es heißt aus einem bestimmten Grund.
So bin ich links denken, dass es etwas geben muss, dass ich hier vermisse. Da das Server-Rendering ein ziemlich großes Feature von React ist und dangerouslySetInnerHTML()
nicht empfohlen wird, haben die beiden nicht das Gefühl, dass sie zusammen verwendet werden sollten.
Was fehlt mir ..?
Kann jemand ein wirklich grundlegendes, bloßes Beispiel für React Server Rendering geben ..?
Können Sie teilen, was Ihre myApp als HTML zurückgibt? Das könnte auch die Antwort hier helfen. –