我正在考虑在新网站中使用react,我仍然想知道如何使用react组件处理全局命名空间。例如,如果我像这样定义几个React组件:
var MySlider = React.createClass({ // snip });
var MyAlert = React.createClass({ // snip });
var MyDropdown = React.createClass({ // snip });
渲染组件如下所示:
React.renderComponent(
<MySlider />,
document.getElementById('content')
);
但是,我更喜欢命名我的组件以避免污染全局命名空间。
var Namespace = {};
Namespace.MySlider = React.createClass({ // snip });
在渲染方面,由于命名空间,我找不到组件。
React.renderComponent(
<Namespace.MySlider />, // component is not found
document.getElementById('content')
);
我在这里缺少什么?只是忽略全局名称空间污染或者是否有可能命名组件?
谢谢!
答案 0 :(得分:10)
这不完全是一个React JS问题,因为任何大型JavaScript代码库都必须处理模块加载。我建议在JavaScript中开始使用命名空间,而不是使用模块加载器。
你会对此有很多意见,但请看一些广泛使用的模块加载器:
答案 1 :(得分:6)
这段代码很有用。
React.renderComponent(
Namespace.MySlider(),
document.getElementById('content')
);
有关详细信息,请参阅documentation。