Reactjs 用于在一个文件中导出模块的es6语法

Reactjs 用于在一个文件中导出模块的es6语法,reactjs,ecmascript-6,Reactjs,Ecmascript 6,我想要一个index.js来定义我所有的react组件,如下所示: import App from './app'; import Home from './home'; export App; export Home; 然后我在另一个文件中引用它们: import { App, Home } from './components/index'; ReactDOM.render( <Provider store={store}> <Router history

我想要一个index.js来定义我所有的react组件,如下所示:

import App from './app';
import Home from './home';

export App;
export Home;
然后我在另一个文件中引用它们:

import { App, Home } from './components/index';

ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>
      <Route path="/" component={App}>
        <IndexRoute component={Home}/>
      </Route>
    </Router>
  </Provider>,
  document.getElementById('theContent')
);

导出如下所示

import App from './app';
import Home from './home';

export {App, Home};
希望这个对你有用

或者,您可以按如下方式编写导入(命名对象引用)

import*作为组件从“./Components/index”导入;
ReactDOM.render(
,
document.getElementById('theContent')
);

这不是使用导出的正确方法

这个

应该是

export {App, Home}


我最近也遇到过同样的问题,本质上,
export
并不是设计用于这种方式的——它“用于导出函数、对象或原语”,而不是“导入的模块”,但您可以通过将
import
ed模块分配给普通对象,然后
export default
ing该对象来模拟它

import App from './app';
import Home from './home';

const exports = {
    App,
    Home,
};

export default exports;
不幸的是,您必须
导入整个对象,但是如果主要目的只是拥有一个模块导入点,那可能还不太糟糕


如果这种行为在我们获得本机实现而不是受到Transpiler的限制时发生变化,我不会感到惊讶,但这种解决方案不会太冗长或不可读。

注意
从“/App”导出应用程序
是一个语法建议,但不是官方的。您可以从“/App”执行
导出{defaultasapp}不过。
export App;
export Home;
export {App, Home}
export App from './app';
export Home from './home';
import App from './app';
import Home from './home';

const exports = {
    App,
    Home,
};

export default exports;