gpt4 book ai didi

javascript - 未调用 react 函数

转载 作者:行者123 更新时间:2023-11-30 09:45:18 25 4
gpt4 key购买 nike

我正在使用 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 函数没有被调用。相反,类名变成了代码

class = getClass() {
return "a_class";
}

当我检查 html 时,而不是简单地 a_class。出于某种原因,它不是被调用的函数,而是被简单地保存为一个字符串并放入类名中。

为什么会这样?我无法调用我制作的任何功能。有人可以帮帮我吗?

最佳答案

函数没有被调用,因为你没有调用它。您可以看到该函数的源代码,因为任何被强制转换为字符串的函数都会执行相同的操作 ((""+(foo=>bar)) === "foo=>bar")。您所要做的就是:

<div className={this.getClass()}></div>

关于javascript - 未调用 react 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39112673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com