Reactjs 如何使用compose在索引中导出为默认值?
我有个问题。 假设您有一个文件夹,其中有多个文件。 每个文件代表一个组件 所以我在这里: 文件1: -组成部分1 -构成部分2 等等 在这个文件夹中,我有一个index.js来导出文件夹中的每个组件 在每个组件中,我都使用react apollo,所以我使用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); 在我的组件连接屏幕的末尾。问题是当我这样
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很高兴它帮了忙,如果你同意这个策略,你也可以投票表决。