Bol*_*boa 1 javascript node.js reactjs
我正在使用 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;
Run Code Online (Sandbox Code Playgroud)
页面渲染得很好,但我添加的函数没有被调用。例如,在我的App班级...
class App extends React.Component {
constructor(props) {
super(props);
}
getClass() {
return "a_class";
}
render() {
return (
<div className={this.getClass}></div>
);
}
}
module.exports = App;
Run Code Online (Sandbox Code Playgroud)
该getClass函数未被调用。相反,类名变成了代码
class = getClass() {
return "a_class";
}
Run Code Online (Sandbox Code Playgroud)
而不是简单地a_class当我检查 html 时。由于某种原因,它不是被调用的函数,而是简单地保存为字符串并放入 className 中。
为什么会发生这种情况?我无法调用我创建的任何函数。有人可以帮我吗?
该函数未被调用,因为您没有调用它。您可以查看该函数的源代码,因为任何与字符串关联的函数都会执行相同的操作 ( (""+(foo=>bar)) === "foo=>bar")。您所要做的就是:
<div className={this.getClass()}></div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6995 次 |
| 最近记录: |