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