我是很新的反应,所以请原谅我的无知。我基本上想知道从目录导出多个ReactJS对象的“方法”,以获得更大的代码库和最佳实践。这并不是ReactJS教程中的内容。
假设我有一个文件./main.js
,并且我想要导入一个lib(从dir中导入,因为我可能还有其他的lib)。
假设我在目录./library_dir/my_lib.js
中有一个库,我希望在./main.js
中使用它。
在./main.js
中,我可能希望使用这个库并初始化一些exampleComponent
,如下所示:
var my_lib = require('./library_dir/my_lib.js');
ReactDOM.render(
(<BrowserRouter>
<Switch>
<Route exact path="/component_route" component={my_lib.ExampleComponent}>
</Switch>
</BrowserRouter>)
, document.getElementById("root"));
因此,在./library_dir/my_lib.js
中,我希望能够导出多个reactjs类。我该怎么做?
import React from 'react';
my_lib = {
test_function: function() {
alert("TEST FUNCTION CALLED");
},
// How would I do this bellow?
ExampleComonent: class ExampleComponent extends React.Component {
constructor(props) {
super(props);
// doing all thing things...
}
render() {
return (
<h1>This is ExampleComponent.</h1>
);
}
}
// I need to be able to export multiple components, so here's another one.
ExampleComonentTwo: class ExampleComponentTwo extends React.Component {
constructor(props) {
super(props);
// doing all thing things...
}
render() {
return (
<h1>This is ExampleComponentTwo.</h1>
);
}
}
}
export default my_lib;
正如我们所知,module
是一个带有exports
属性的普通JavaScript对象。exports
是一个普通的JavaScript变量,碰巧被设置为module.exports
。导出默认值
是来自ES6的语法。
许多人认为module.exports=...
等效于export default...
,exports.foo...
等效于export constfoo=...
。但这并不完全正确,或者至少巴别塔不是这样做的。
ES6default
导出实际上也被命名为导出,只不过default
是一个“保留”名称,并且有特殊的语法支持。让我们看看Babel是如何编译命名导出和默认导出的:
// input
export const foo = 42;
export default 21;
// output
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var foo = exports.foo = 42;
exports.default = 21;
在这里,我们可以看到默认导出成为exports
对象的一个属性,就像foo
一样。
我建议您使用一个index.js
文件,在该文件中,您必须从lib导出组件并在实际实现中使用它们。
希望这对你有帮助!!
问题内容: 我是Nodejs的新手。如何导出多个对象?例如 我想使用类似的模型: 我想使用类似这样的对象: 谢谢你的建议:D 更新 :解决以下方法: 但是我还有另一个问题。如何动态分配模型? 更新通过 以下方式解决了第二个问题: 问题答案: 只需将它们包装在对象文字中即可。在纯JS(没有CoffeeScript)中,将是: 在coffeescript中,您使用缩进,但要创建空对象时除外:
Navicat 还能让你管理其他 SQLite 对象:索引和触发器。在主窗口的主工具栏点击相应的按钮来打开对象列表。
Navicat 还能让你管理其他 SQL Server 对象:索引、同义词、触发器、备份设备、链接服务器、服务器触发器、程序集、数据库触发器、分区函数和分区方案。在主窗口中,点击 “其他”,然后选择一个对象来打开对象列表。
Navicat 还能让你管理其他 PostgreSQL 对象:聚合、转换、域、索引、运算符、运算符类别、序列、触发器、表空间、编制和语言。在主窗口中,点击 “其他”,然后选择一个对象来打开对象列表。
Navicat 还能让你管理其他 Oracle 对象:数据库链接、索引、Java、实体化视图日志、序列、同义词、触发器、类型、XML 架构、目录、公用数据库链接、公用同义词和表空间。在主窗口中,点击 “其他”,然后选择一个对象来打开对象列表。
Navicat 还能让你管理其他 SQLite 对象:索引和触发器。在主窗口中,点击 “其他”,然后选择一个对象来打开对象列表。