导出默认类抱怨名称

时间:2018-05-22 12:16:00

标签: javascript

在MDN文档中,他们使用导出默认类{}并将其导入:

import Whatever from './myFile'

应该有效。

这在我的情况下不起作用,因为我像这样导出我的类:

export default class LoginForm extends Component { }

然后像这样导入:

import LoginForm from './user/LoginForm';

导致以下错误:

123:30-39 './components/user/LoginForm' does not contain an export named 'LoginForm'.

当我在LoginForm文件的末尾添加导出默认的LoginForm时,它可以正常工作,但这感觉不必要。

如果名称是默认导出,为什么会抱怨名称?

提前致谢,

麦克

1 个答案:

答案 0 :(得分:0)

  

当我在LoginForm文件的末尾添加导出默认的LoginForm时,它可以正常工作,但这感觉不必要。

这似乎是不必要的,但这是一个你经常会看到的惯例。 我想你在这里创建一个React组件,请记住,你经常需要包装组件导出的HoC(高阶组件)。

以下是一个例子:

export default connect(mapStateToProps, mapDispatchToProps)(LoginForm);

因此,将导出放在文件的末尾是有意义的。

注意:当我导出这样的组件时,我无法重现您的错误:

export default class App extends Component { ... }

这对我有用。