在Javascript ES6中导出多个包装函数

在Javascript ES6中导出多个包装函数,javascript,reactjs,meteor,ecmascript-6,Javascript,Reactjs,Meteor,Ecmascript 6,我使用react-komposer用数据获取包装器包装react组件 这是非常基本的,我想在Meteor中包装多个组件。但我不知道出口模式是什么 以下是我所拥有的(并且给了我一个“意外的标记”错误——如果你理解得很好,可能很明显!): 我想这样导入它们: import { Component1, Component2 } from './myContainer.jsx'; 这个包装器语法对我来说不是很清楚,所以我不确定该尝试什么。使用“导出默认值”和其他变体迄今为止没有产生任何结果。如果不使用

我使用react-komposer用数据获取包装器包装react组件

这是非常基本的,我想在Meteor中包装多个组件。但我不知道出口模式是什么

以下是我所拥有的(并且给了我一个“意外的标记”错误——如果你理解得很好,可能很明显!):

我想这样导入它们:

import { Component1, Component2 } from './myContainer.jsx';

这个包装器语法对我来说不是很清楚,所以我不确定该尝试什么。使用“导出默认值”和其他变体迄今为止没有产生任何结果。

如果不使用默认导出,则需要将导出的内容命名为:

export const TrackedComponent1 = composeWithTracker(composer, Loading)(Component1);
export const TrackedComponent2 = composeWithTracker(composer, Loading)(Component2);
如果使用默认导出,则可以省略名称,例如

export default composeWithTracker(composer, Loading)(Component1);
但每个模块只能定义一个默认导出

有关ES6导出语法,请参阅文档:

更新:

如果要保留原始导出名称,请执行以下操作:

import _Component1 from './Component1.jsx';
import _Component2 from './Component2.jsx';

//... you code here

export composeWithTracker(composer, Loading)(_Component1);
export composeWithTracker(composer, Loading)(_Component2);

因为Component1.jsx使用默认的导出,所以当您导入它时,您可以根据需要重命名它(例如_Component1,untrackedcomonent1,…)。如果没有默认的导出,您可以使用
import{Component1}作为_Component1

太好了!实际上没有必要,但是真的没有办法使用原始名称
Component1
Component2
?我可以使用一个临时变量,然后在导出中重新分配Component1和component2,但这并不是很干净不应该是
export const Component=componeseWithTracker(编写器,正在加载)(_Component1)
import _Component1 from './Component1.jsx';
import _Component2 from './Component2.jsx';

//... you code here

export composeWithTracker(composer, Loading)(_Component1);
export composeWithTracker(composer, Loading)(_Component2);