我想这样做
src/modules/layout/nav.js
中的
...
export default NavBar;
src/modules/layout/side.js
中的
...
export default sideBar;
src/modules/layout/index.js
中的
import NavBar from './nav';
import sideBar from './side';
export { NavBar, sideBar };
src/modules/index.js
中的
import * from './layout';
最后一位不起作用。根据教程,我可以转到src/App.js
并使用navBar
,如下所示:
从'./modules'导入{navBar};
但*
不起作用的事实我不能这样做。有什么选择而不必像这样吗
src/modules/index.js
中的
import * as All from './layout';
export All;
然后在App.js
中,转到All.navBar
。感觉很难看
答案 0 :(得分:13)
You don't want to do this:
import NavBar from 'src/modules/layout/NavBar';
import SideBar from 'src/modules/layout/SideBar';

但你想要的是从一个文件中导入所有组件,无论你想在哪里使用它们。 因此,如果是这种情况,您就不需要添加更多复杂性。您只需要做的就是:
// export the components like this
export default NavBar;
export default SideBar;
// Then, in your src/modules/layout/index.js file, import // the components you exported just the way you did it
import NavBar from './NavBar';
import SideBar from './SideBar';
export {
NavBar,
SideBar
}
// Hence, wherever you need both components, you can easily do this:
import { NavBar, SideBar } from '../index.js'
// From the above, you are just importing both components from the index.js file.

所以,我相信这会回答你的问题。
答案 1 :(得分:0)
只需添加Onyekachi Samuel的答案并回答标题的 all 部分即可
按照他的描述创建src/modules/layout/index.js
文件后,可以通过以下方式导入所有文件:
import * as All from './layout'
并使用导出的组件:
<All.NavBar/>
<All.SideBar/>
例如:
// Folder structure:
// |-App.js
// |-Layout
// |-NavBar.js
// |-SideBar.js
// |-index.js
// App.js in the same location as Layout folder
import React from 'react';
import * as All from './layout
export default function App(props) {
return (<div>
<All.NavBar/>
<All.SideBar/>
</div>)
}
希望这可以在某些方面澄清它。