我正在考虑在新网站中使用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') );
我在这里想念的是什么?只是忽略全局名称空间污染或者是否有可能命名您的组件?
谢谢!
解决方法
这不完全是一个React JS问题,因为任何大型JavaScript代码库都必须处理模块加载.我建议在JavaScript中以你开始接近它的方式放弃命名空间,而是使用模块加载器.
你会对此有很多意见,但看看一些广泛使用的模块加载器: