[英]react function not being called
我正在使用node js渲染一個React類...
var express = require('express');
var router = express.Router();
var React = require('react');
var reactDom = require('react-dom/server');
var App = React.createFactory(require('../components/index'));
router.get('/', function(req,res) {
var reactHtml = reactDom.renderToString(App({}));
res.render('../../tutorHub/views/index.jade', {reactOutput: reactHtml});
});
module.exports = router;
該頁面呈現得很好,但沒有調用我添加的函數。 例如,在我的App
類中...
class App extends React.Component {
constructor(props) {
super(props);
}
getClass() {
return "a_class";
}
render() {
return (
<div className={this.getClass}></div>
);
}
}
module.exports = App;
不會調用getClass
函數。 相反,className成為代碼
class = getClass() {
return "a_class";
}
而不是簡單的a_class
當我檢查html。 由於某種原因,它只是被另存為字符串並放入className中,而不是被調用。
為什么會這樣呢? 我無法調用我執行的任何功能。 有人可以幫我嗎?
該函數未調用,因為您沒有調用它。 您可以看到函數的來源,因為任何強制轉換為字符串的函數都將執行相同的操作( (""+(foo=>bar)) === "foo=>bar"
)。 您要做的就是:
<div className={this.getClass()}></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.