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

标签 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={history}>
      <Route path="/" component={App}>
        <IndexRoute component={Home}/>
      </Route>
    </Router>
  </Provider>,
  document.getElementById('theContent')
);

但我收到此错误:

Module build failed: SyntaxError: /Users/paulcowan/projects/liverpool-managers/client/app/components/index.js: Unexpected token (4:10)
  2 | import Home from './home';
  3 | 
> 4 | export App;
    |           ^

最佳答案

导出如下图。

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

export {App, Home};

希望这个对你有用。

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

import * as Components from './components/index';

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

关于reactjs - 用于在一个文件中导出模块的 es6 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38512877/

相关文章:

reactjs - 不可变-JS : Merge a List of Maps by key

javascript - MERN React/Redux/MongoDB 带身份验证的实体同构样板

javascript - 更新 redux 状态

javascript - 为什么在提交帖子请求时我的图片会转换为字符串?

reactjs - 如何使用 React + Next.js 在 Material UI 中使用 Theme?

reactjs - 如何在 azure devops 构建中读取 azure key Vault 设置并使它们在 Web SPA 中可用

javascript - ES6 Promise block 页面

Javascript ES2015 检查对象中的命名键之一是否为空

javascript - ECMAScript 类

javascript - 基于另一个数组的es6过滤器数组没有变异