Javascript“导出默认值”到同一文件中的类

时间:2018-07-22 18:38:13

标签: javascript reactjs containers

我对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)

1 个答案:

答案 0 :(得分:3)

  

以下代码是否实例化Container对象?

那个代码不是,不是,但是它可能会导致创建一个或多个代码,具体取决于函数ExampleComp返回的代码与接收到的参数有关:如果函数ExampleComp返回,则使用new及其接收到的内容创建一个实例(或多个实例),则为是。如果不是,则否。 (也就是说,如果不打算使用该参数来创建实例,似乎不太可能使用该参数。)

我们来分解一下ExampleComp({key:value})(Container)的作用:

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