2016-10-24 75 views
0

我是新來的reactjs。我有多個頁面中的多個類。我收到的錯誤:如何從另一個js頁面呈現組件reactjs?

ReferenceError: WelcomeView is not defined

Chat.js:

var Chat = React.createClass({ 

render: function() { 
return (
    <div> 
    <WelcomeView /> 
    <MainView /> 
    </div> 
); 
} 

}); 

ReactDOM.render(<Chat />, document.getElementById('app')); 

WelcomeView和的MainView在另一頁。

WelcomeView.js:

var WelcomeView = React.createClass({ 

render: function() { 
    ... 
} 

} 

}); 
index.html中

<script src="react/build/react.js"></script> 
<script src="react/build/react-dom.js"></script> 
<script src="https://unpkg.com/[email protected]/browser.min.js"></script> 

<script src="script/WelcomeView.js" type="text/babel"></script> 
<script src="script/MainView.js" type="text/babel"></script> 
<script src="script/Chat.js" type="text/babel"></script> 

回答

0

還有就是你的WelcomeView和組件的MainView沒有提及。

WelcomeView.js

window.WelcomeView = React.createClass({  
    render: function() { 
     ... 
    } 
}); 

Chat.js

var MainView = window.MainView; 
var WelcomeView = window.WelComeView; 

var Chat = React.createClass({  
    render: function() { 
     return (
      <div> 
       <WelcomeView /> 
       <MainView /> 
      </div> 
     ); 
}); 

ReactDOM.render(<Chat />, document.getElementById('app')); 

編輯:凱什山是正確的。您沒有使用模塊捆綁器,因此導入不起作用。將這些類附加到窗口可能會有所裨益。

+0

的ReferenceError:如果您沒有使用任何模塊捆綁喜歡的WebPack或等你應該分配給你的組件一些JavaScript全局對象要求是沒有定義 –

+0

@Digipng,因爲從.jsx對象不放在全球範圍內 –

+0

做什麼你意思是 ? var WelcomeView = React.createClass({})... ??? –

相關問題