我正在研究一个反应项目(我的第一个),我最近重组了我的文件夹结构,使其更有意义.
为了让我的生活更轻松,在我的组件文件夹中,我有一个index.js
如下所示的文件:
export * from './App'; export * from './Home'; export * from './PageWrapper';
(这个想法是从另一个StackOverflow问题中解除的)
在这种情况下,此索引指向的每个文件都具有单个类导出.
现在在我的主要应用程序中,我尝试做类似的事情:
import {Home, App} from './containers/index'; //or import Home from './containers/index';
什么都行不通.我发现如果我将它们全部分成直接指向正确文件的单独行,它就可以工作.
import Home from './containers/Home'; import App from './containers/App';
那么我可以按照我的方式导入多个类,而我只是没有看到它?我是否需要将它们全部命名(App as App
)?或者这仅仅是强制限制?
你可以像这样导出:
import App from './App'; import Home from './Home'; import PageWrapper from './PageWrapper'; export { App, Home, PageWrapper }
然后,您可以在任何需要的地方导入:
import { App, PageWrapper } from './index' //or similar filename ...
您可以在此处详细了解导入和导出.我在这里也回答了类似的问题.
我使用看起来像这样的导出。反应良好
export {default as PublicRoute} from './PublicRoute'; export {default as PrivateRoute} from './PrivateRoute';
然后,您可以在任何需要的地方像这样导入:
import {PublicRoute, PrivateRoute} from './config/router'; ...