我想從React中的另一個組件類呈現組件類的實例。但由於某種原因,瀏覽器抱怨組件實例未定義。我把它全部放在同一個JS文件(Codepen中的JS窗口)中。這是我的代碼 -在React中呈現組件實例
var NavBar = React.createClass({
render: function() {
var pages = ['home', 'blog', 'pics', 'bio', 'art', 'shop', 'about', 'contact'];
var navLinks = pages.map((page) => {
<a href="{'/' + page}">{page}</a>
});
return <nav>{navLinks}</nav>;
}
});
var Page = React.createClass({
render: function() {
return (
<div>
<h1 className="text-primary">Welcome!</h1>
<NavBar />
<h2 className="text-primary">About Me</h2>
</div>
);
}
});
ReactDOM.render(<Page />, document.getElementById('app'));
以下是關於Codepen的應用程序。這是我得到的錯誤 -
pen.js:13 Uncaught ReferenceError: NavBar is not defined
我不太確定發生了什麼事。就我所知,NavBar
應該在Page
的範圍內。
謝謝!
對我來說,它運作良好 - http://codepen.io/anon/pen/GNQNYp?編輯器= 1010,'.map'中只有一個音符添加'return'語句或使用'pages.map((page)=>({page}));'。另外不要忘記爲循環內的元素添加'key' –
我明白了。我想我對[ES6胖箭頭隱式返回]的概念感到困惑(https://www.sitepoint.com/es6-arrow-functions-new-fat-concise-syntax-javascript/)。我也不確定爲什麼缺少'return'在這裏創建一個問題,當它似乎在這裏工作 - 'var multiply =(x,y)=> x * y;' 感謝您的幫助! –