我在使用create-react-app时遇到了这个问题,我得到了一个错误:
主目录不包含名为主目录的导出。
下面是我如何设置我的App.js文件:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import { Home } from './layouts/Home'
class App extends Component {
render() {
return (
<div className="App">
Hello
<Home />
</div>
)
}
}
export default App;现在在我的layouts文件夹中有Home.js文件,它的设置如下:
import React, { Component } from 'react';
class Home extends Component {
render() {
return (
<p className="App-intro">
Hello Man
</p>
)
}
}
export default Home;如您所见,我正在导出Home组件。但是我在我的控制台上得到了一个错误,说:

怎么一回事?
发布于 2017-05-25 13:14:22
发布于 2017-08-24 20:34:41
使用
import Home from './layouts/Home'而不是
import { Home } from './layouts/Home'从主页中删除{}
发布于 2018-09-25 01:40:34
这是您将默认导出和命名导出混合在一起的情况。
在处理named导出时,如果您尝试导入它们,则应该使用大括号,如下所示。
import { Home } from './layouts/Home'; // if the Home is a named export在您的示例中,Home被导出为默认Home。当您没有指定某段代码的特定名称时,它将从模块中导入。当您导入并省略大括号时,它将在您导入的模块中查找默认导出。所以你的导入应该是,
import Home from './layouts/Home'; // if the Home is a default export要查看的一些参考资料:
https://stackoverflow.com/questions/44172727
复制相似问题