7
ReactJS & düğümünü kullanarak sunucu tarafı oluşturmayı denerken aşağıdaki hatayı almaya devam ediyorum.ReactJS Geçersiz sağlama toplamı
React attempted to use reuse markup in a container but the checksum was invalid.
Ben sunucu ve istemci üzerinde aynı sahne geçen bu sorunu gideren bir answer gördüm. Örneğimde, hiç oyuncum yok, bu yüzden sorunun cevabım için geçerli olduğundan emin değilim.
Sen benim github hesapta benim tam örneğini görebilirsiniz.
Aşağıdaki önemli kodu ekliyorum. Herhangi bir anlayış büyük beğeni topluyor.
JSX
/** @jsx React.DOM */
var React = require('react');
var index = React.createClass({
render: function() {
return (
<html>
<head>
<script src="bundle.js"></script>
</head>
<body>
<div>
hello
</div>
</body>
</html>
);
}
});
if (typeof window !== "undefined") {
React.renderComponent(<index/>, document.documentElement);
} else {
module.exports = index;
}
Sunucu
require('node-jsx').install();
var express = require('express'),
app = express(),
React = require('react'),
index = require('./index.jsx');
var render = function(req, res){
var component = new index();
var str = React.renderComponentToString(component);
res.set('Content-Type', 'text/html');
res.send(str);
res.end();
}
app.get('/',render);
app.use(express.static(__dirname));
app.listen(8080);
Bazen, bu çok basit bir şey. Teşekkür ederim. Cevabı bu kadar çabuk nasıl anladın? – Nael
Bir önsezim vardı, onunla oynadım. :) Arka planda, 'document.documentElement' * * HTML öğesidir ve 'document' * öğesi * içerir ve React elemanlara işlenir — böylece html' etiketini oluşturmak isterseniz, bir kap. –
Harika yanıt. Tekrar teşekkürler! – Nael