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

Reactjs 如何使用compose在索引中导出为默认值?,reactjs,react-apollo,Reactjs,React Apollo,我有个问题。 假设您有一个文件夹,其中有多个文件。 每个文件代表一个组件 所以我在这里: 文件1: -组成部分1 -构成部分2 等等 在这个文件夹中,我有一个index.js来导出文件夹中的每个组件 在每个组件中,我都使用react apollo,所以我使用compose 例如: export default compose( graphql(loginMutation, {name: "login"}), )(ConnectionScreen); 在我的组件连接屏幕的末尾。问题是当我这样

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

所以我在这里: 文件1: -组成部分1 -构成部分2 等等

在这个文件夹中,我有一个index.js来导出文件夹中的每个组件

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

例如:

export default compose(
  graphql(loginMutation, {name: "login"}),
)(ConnectionScreen);
在我的组件连接屏幕的末尾。问题是当我这样做的时候

export Connection  from "./Connection";
即使我添加了方括号(如果我尝试在没有默认值的情况下导出compose),它也不起作用。React说它不是一个组件,所以我不能在我的文件夹中使用index.js

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

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

在我看来,您不应该主要依赖于默认值,而应该使用命名导入来在更大的代码库中显式显示

为了做到这一点,您需要对代码进行如下更改:

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

export { connected as ConnectionScreen }
然后,您将收集索引,然后将所有内容导出为:

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

你能澄清你的文件结构吗?您在屏幕上提到了连接,但我们不知道它在您的文件/目录中的位置。一种常见的模式是,有一堆使用默认导出的文件,然后使用
index.js
收集所有这些文件,并将它们作为命名导出导出。这就是你想做的吗?你好,非常感谢,伙计,太棒了@jim2k很高兴它帮了忙,如果你同意这个策略,你也可以投票表决。