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