2017-05-29 14 views
0

ReactとNode.jsを使用してアプリケーションを構築しようとしていますが、フロントエンドでReactを使用する方法がわかりません。私はthis tutorialに従おうとしています。今、私のroutes.jsファイルで、私が持っている:不変違反:renderComponentToStringを()不変違反:renderComponentToString():有効なReactComponentを渡す必要があります

var JSX = require('node-jsx').install(); 
var React = require('react'); 
var Homepage = require('./../components/Homepage'); 

module.exports = { 

    index: function(req, res) { 
     var markup = React.renderComponentToString(Homepage); 

     res.render('home', { 
      markup: markup 
     }); 
    } 

}; 

renderComponentToString方法は、私のサーバーが起動するので、その後、私は「エラーエラーメッセージが表示され、問題のようです:有効なReactComponentを渡す必要があります。 "私のHomepageコンポーネントは次のようになります。

/** @jsx React.DOM */ 

var React = require('react'); 
var style = require('./style'); 

module.exports = About = React.createClass({ 
    render: function() { 

     return (
      <div style={ style.style1 }> 
       some more code here 
      </div> 
     ) 

    } 
}) 

私の反応コンポーネントには何が問題なのか分かりません。どんな助けもありがとう。ありがとう!

+0

@MayankShuklaを参照してください

var markup = React.renderComponentToString(Homepage()); 

のようにそれを渡して試してみてください: './../コンポーネント/ Homepage'は' ../コンポーネント/ Homepage'と同じです。 –

+0

2つの異なるルートファイルを含むルートフォルダが実際にあるので、パスが奇妙です。私はルートファイル#1にいますので、コンポーネントフォルダにアクセスするために親ディレクトリまでちょうど流れています。 – gridproquo

+0

'Homepage'は関数です。 'renderComponentToString'は実際に要素を期待していると仮定します:' React.renderComponentToString(); '(または' React.renderComponentToString(React.createElement(Homepage)); ' –

答えて

0

React.renderComponentToStringはReactコンポーネントをとります。 thisリンク

関連する問題