Javascript "export default"到同一文件中的类

标签 javascript reactjs containers

我熟悉使用导出默认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)

最佳答案

Does the following code instantiate a Container object?

代码不会,不会,但它可能会导致创建一个或多个,具体取决于函数 ExampleComp 返回的代码对参数的处理方式它接收:如果函数 ExampleComp 返回通过使用 new 及其接收的内容创建一个实例(或多个实例),那么是的。如果没有,那就不行。 (也就是说,如果它不打算使用该参数来创建实例,它似乎不太可能采用该参数......)

让我们详分割析一下 ExampleComp({key:value})(Container) 的作用:

  • 它创建一个对象:{key:value}
  • 它将该对象作为参数传递给函数ExampleComp;显然(从代码来看),ExampleComp 返回一个函数
  • 它调用从 ExampleComp 获取的函数作为返回值,并传入 Container
  • 它将调用的返回值导出为默认导出

关于Javascript "export default"到同一文件中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51468157/

相关文章:

javascript - 如何获取另一个网站的屏幕截图/预览

javascript - ng :test no injector found for element argument to getTestability

javascript - Angular2 - 模板中的 Array.prototype.filter()

reactjs - React Router v4 在刷新时返回 404

c++ - vector (容器)是否需要使用 "allocator"?

javascript - 将 $_GET [id] 传递给刷新

reactjs - Material UI 上的“keepMounted”属性选择组件未将菜单项安装到 DOM

javascript - react 路由中的错误404

c# - Azure 容器应用服务。 Docker 运行参数?

带链表的 C++ 泛型容器