如何使用 compose 在索引中导出为默认值?

How to export as default in index with compose?

我有问题。 假设您有一个文件夹,其中有多个文件。 每个文件代表一个组件

所以我在这里: 文件 1: - 组件 1 - 组件 2 等...

在这个文件夹中,我有一个 index.js 可以从文件夹中导出每个组件。

在每个组件中,我都使用 React apollo,所以我使用 compose。

例如:

export default compose(
  graphql(loginMutation, {name: "login"}),
)(ConnectionScreen);

在我的组件 ConnectionScreen 的末尾。问题是当我这样做时

export Connection  from "./Connection";

即使我添加括号它也不起作用(如果我尝试在没有默认情况下导出组合)React 说它不是一个组件所以我不能在我的文件夹中使用我的 index.js。

你有什么解决办法吗? 感谢您的帮助。

从单个文件导出 default's 然后在索引文件中收集可能很麻烦,因为您必须首先从文件 1 导入默认值,以某种方式命名它,然后导出该别名。

IMO,你不应该主要依赖默认,而应该使用命名导入在更大的代码库中显式。

为此,您需要像下面这样更改代码:

const connected = compose(
  graphql(loginMutation, {name: "login"}),
)(ConnectionScreen);

export { connected as ConnectionScreen }

然后您将收集索引,然后全部导出为:

// index.js
export * from "./Connection";