javascript – JS:React和全局命名空间污染

前端之家收集整理的这篇文章主要介绍了javascript – JS:React和全局命名空间污染前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在考虑在新网站中使用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中以你开始接近它的方式放弃命名空间,而是使用模块加载器.

你会对此有很多意见,但看看一些广泛使用的模块加载器:

> Browserify
> RequireJS
> Webpack

猜你在找的JavaScript相关文章