ES6 导入未定义

Mat*_*Mat 5 javascript import

我的反应应用程序中有两个文件:

/* MyApp/components/my-component.jsx */

export class MyComponent extends React.Component {
  // ...
};

console.log(MyComponent); // (1)
Run Code Online (Sandbox Code Playgroud)

/* MyApp/my-app.jsx */

import MyComponent from './components/my-component';

console.log(MyComponent); // (2)
Run Code Online (Sandbox Code Playgroud)

console.log数字(1)给了我这个:function MyComponent(props, context) {...。但是console.log数字(2)给了我undefined

我究竟做错了什么?这看起来很简单,但行不通。

Rob*_*kal 6

查看文档:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

以下形式的 import 语句仅适用于具有默认导出的模块。

import MyComponent from './components/my-component';
Run Code Online (Sandbox Code Playgroud)

你需要这样做:

import {MyComponent} from './components/my-component';
Run Code Online (Sandbox Code Playgroud)

或者将您的类导出为默认值,然后导入将按照您编写的方式工作:

export default class MyComponent extends React.Component {
  // ...
};
Run Code Online (Sandbox Code Playgroud)