尝试导入错误:“App”未从“./App”导出

IT技术 javascript reactjs
2021-05-13 11:14:30

我正在开发货币转换器应用程序,我从代码笔 ( https://codepen.io/jmean/pen/Oxmgxp )获得了代码我正在尝试运行此代码,但出现此错误:./src/index.js 尝试导入错误:“应用程序”未从“./应用程序”导出。

我试过添加导出默认 App(); 在 index.js 和 App.js 文件上,但它不起作用。

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import {App} from './App';
import * as serviceWorker from './serviceWorker';

ReactDOM.render(<App />, document.getElementById('root'));

我希望代码能够像在代码笔上一样编译并显示在浏览器上。

4个回答

如果是默认导出,则不需要将导入放在花括号中。

import App from './App';

是你应该写的。

有两种方法可以构建导入/导出对。

默认:

应用程序.js

export default class App { ... }

索引.js

import App from './App';

命名:

应用程序.js

export class App { ... }

索引.js

import { App } from './App';

我在 App 组件上导入react时出错,这是一个愚蠢的问题,我以错误的方式导入react核心。

这个编译但有那个错误

import {ComponentName} from "./ComponentName"

这有效:

import ComponentName from './ComponentName'

这很奇怪,但希望有所帮助!

有两种导出方式,

命名导出

使用命名导出,一个文件可以有多个命名导出。然后导入他们想要用大括号括起来的特定导出。导入module的名称必须与导出module的名称相同。

// imports
import { MyComponent } from "./MyComponent";

// exports from ./MyComponent.js file
export const MyComponent = () => {}

默认导出

每个文件只能有一个默认导出。当我们导入时,我们必须指定一个名称并导入如下:

// import
import MyDefaultComponent from "./MyDefaultExport";

// export
const MyComponent = () => {}
export default MyComponent;

注意: import 的命名在默认导出中是完全独立的,我们可以使用任何我们喜欢的名称。