我对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)
答案 0 :(得分:3)
以下代码是否实例化
Container
对象?
那个代码不是,不是,但是它可能会导致创建一个或多个代码,具体取决于函数ExampleComp
返回的代码与接收到的参数有关:如果函数ExampleComp
返回,则使用new
及其接收到的内容创建一个实例(或多个实例),则为是。如果不是,则否。 (也就是说,如果不打算使用该参数来创建实例,似乎不太可能使用该参数。)
我们来分解一下ExampleComp({key:value})(Container)
的作用:
{key:value}
ExampleComp
;显然(从代码中),ExampleComp
返回了一个函数ExampleComp
返回的函数,并传入Container