3
我目前正試圖在我的node.js + express構建中實現一個同構反應組件。然而,當我嘗試上述組件包括了我的玉模板來渲染它,我得到這個錯誤:類型錯誤:無法添加屬性方面,對象是不可擴展Node.js反應:無法添加屬性上下文,對象不可擴展
這裏是我的路線文件:
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;
組件:
/** @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;
而且我一飲而盡任務拋出一個警告說警告:組件(...):在返回的部件上找不到render
方法立場:你可能已經忘記在你的組件中定義render
,或者你可能意外地嘗試渲染一個元素,該元素的類型是一個不是React組件的函數。 警告:請勿設置React元素的道具屬性。相反,在最初創建元素時指定正確的值。
任何人都可以幫我嗎?非常感謝