javascript - Javascript“导出默认值”到同一文件中的类
问题描述
我熟悉使用,export default ExampleFunc
因此可以将ExampleFunc导入到不同的文件中作为import Func from 'filename.js'
.
但是,我遇到了一种export default
将对象导出到同一文件中的类的用法。以下代码是否实例化了一个 Container 对象?
import ExampleComp from 'file.js';
class Container extends React.Component {
render() {
dostuff;
}
}
export default ExampleComp({key:value})(Container)
解决方案
以下代码是否实例化了一个
Container
对象?
该代码不会,不,但它可能会导致创建一个或多个,具体取决于函数中的代码ExampleComp
返回对其接收的参数所做的事情:如果函数返回,则使用withExampleComp
创建一个实例(或多个实例)new
它收到什么,然后是的。如果没有,那就没有。(也就是说,如果它不打算使用它来创建实例,它似乎不太可能采用该参数......)
让我们分解一下ExampleComp({key:value})(Container)
:
- 它创建一个对象:
{key:value}
- 它将该对象
ExampleComp
作为参数传递给函数;显然(来自代码),ExampleComp
返回一个函数 - 它调用它得到的函数作为返回值
ExampleComp
,传入Container
- 它将调用的返回值导出为默认导出
推荐阅读
- css - 更简单的方法是使用 CSS 网格模板区域来跨越多个列
- python - 使用 Enum 时 Admin 中的 Django 选择
- amazon-web-services - 示例 api 网关测试事件 json
- docker - 在另一个容器中使用另一个容器
- ruby-on-rails - 注册后如何将用户重定向回登录表单?
- r - 在三元组列表中查找动词(部分匹配?)
- ios - 在核心数据中展开可选值时发现 nil
- ios - 免费试用取消是否显示在 App Store Connect/iTunes Connect 中?
- angular - Ionic 3 的“src”的路径别名
- python - Scikit learn - 自定义成本函数