2016-08-24 5 views
1

呼び出されていない機能を反応させる...は私がノードJSほどを使用して反応するクラスをレンダリングしています

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関数が呼び出されません。私はHTMLをチェックしたときに代わりにクラス名はコード

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

の代わりに、単にa_classとなります。何らかの理由で、関数が呼び出されるのではなく、単純に文字列として保存され、classNameに配置されます。

どうしてですか?私は自分が行った機能を呼び出すことができません。誰かが私を助けることができますか?

答えて

4

関数が呼び出されていないため、この関数は呼び出されません。文字列にcoerectedされる関数はすべて同じ((""+(foo=>bar)) === "foo=>bar")を実行するので、関数のソースを見ることができます。あなたがしなければならないのは:

<div className={this.getClass()}></div> 
関連する問題