Node.js Reagieren: Kann nicht hinzufügen-Eigenschaft context-Objekt ist nicht erweiterbar
Ich versuche zurzeit implementiert, die isomorph zu reagieren Bestandteil in meinem node.js + express bauen. Wenn ich allerdings versuchen, die besagten Komponente in meinem jade-template zu Rendern, bekomme ich diesen Fehler: TypeError: Can ' T add property context-Objekt ist nicht erweiterbar
Hier ist mein Routen-Datei:
var express = require('express');
var router = express.Router();
var React = require('react/addons'),
ReactApp = React.createFactory(require('../../react/components/ReactApp'));
/* GET home page. */
router.get('/', function(req, res, next) {
var reactAppEl = ReactApp();
console.log(reactAppEl);
var reactHtml = React.renderToString(reactAppEl);
res.render('index', { reactOutput: reactHtml });
});
module.exports = router;
Bauteil:
/** @jsx React.DOM */
var React = require('react/addons');
/* create factory with griddle component */
var Griddle = React.createFactory(require('griddle-react'));
var fakeData = require('../data/fakeData.js').fakeData;
var columnMeta = require('../data/columnMeta.js').columnMeta;
var resultsPerPage = 200;
var ReactApp = React.createClass({
componentDidMount: function () {
console.log(fakeData);
},
render: function () {
return (
<div id="table-area">
<Griddle results={fakeData}
columnMetadata={columnMeta}
resultsPerPage={resultsPerPage}
tableClassName="table"/>
</div>
)
}
});
/* Module.exports instead of normal dom mounting */
module.exports = ReactApp;
Auch mein gulp-task löst eine Warnung aus, daß Warnung: Komponente(...): Keine render
Methode, die sich auf der zurückgegebenen Komponente Beispiel: Sie haben möglicherweise vergessen, zu definieren render
in der Komponente oder Sie haben versehentlich versucht zu Rendern eines Elements, dessen Typ eine Funktion, die nicht Reagieren Komponente.
Warnung: nicht die Requisiten Eigenschaft Reagieren element. Stattdessen geben Sie den richtigen Wert bei der anfänglichen Erstellung des Elements.
Kann mir jemand helfen? Vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch hinzufügen einer
react.createFactory()
rufen Sie rund umgriddle-react
erklären Sie, dass Sie verwenden plain-JavaScript anstelle von JSX. So, benötigen Sie einen JavaScript-Funktion für die Grillplatte in der anschließenden render-Funktion:Wenn Sie möchten, verwenden Sie die JSX-syntax, die Sie bereits haben, benötigen einfach
griddle-react
ohne dieReact.createFactory()
nennen.