4
我不明白module.exports如何只能導出一個組件,它依賴於子組件,但仍然在DOM中呈現,儘管該子組件從未導出。React組件和模塊導出
//component.js
var SubComponent = React.createClass({
...
});
var Component = React.createClass({
...
render: function() {
return(
<div><SubComponent /> stuff</div>`)
}});
module.exports = Component
//main.js
var Component = require('./component.js');
var MainContainer = React.createClass({
render: function() {return (
<Component />)
}})
但看看原來的情況,組件如何在沒有導出子組件的情況下呈現第一?不是在main.js中未定義的子組件,因爲它從未被導出?子組件正在component.js之外使用,因爲它是組件 – akantoword
的一部分它的工作原理類似於鏈。 '組件'可以看到'SubComponent'它是在同一個fale中。如果你可以在main.js中看到'Component'就足夠了;只有組件需要在你的情況下看到子組件,MainContainer不關心組件內部是什麼,它只是期望它會呈現 –
如果你對Java很熟悉,可以將非導出模塊看作私有變量,類或文件定義的地方可以看到它(即'Component'可以使用'Subcomponent',但其他類(即其他JS文件)不能。 – lux