在同一个文件中同时添加命名组件和默认组件是否合法?

时间:2019-09-12 09:42:14

标签: reactjs components gatsby

我试图避免在我的应用程序中包含太多组件,所以我想知道这是否合法(它可以工作,但是我发现了一些矛盾的观点)


export const MyNamedComponent = ({ prop }) => (<somejsx />);

[...]

const MyDefaultComponent = ({ location }) => {(

  <MyNamedComponent /> 

)}

export default MyDefaultComponent;

之后,我将MyNamedComponent回收到另一个文件中(以及将我的默认组件回收到其他文件中):

第一个文件:


import { MyNamedComponent } from "mycomponentfile";

export default () => {( <MyNamedComponent /> )} 

另一个:


import MyDefaultComponent from "mycomponentfile";

export default () => {( <MyDefaultComponent /> )} 

这是合法的吗?如果有命名的组件,我谁不愿意放置默认组件?那么在类似情况下我应该如何表现?我应该只导出两个没有默认值的命名组件吗?

1 个答案:

答案 0 :(得分:0)

根据这篇帖子Default And Named Exports From The Same Module

刚发现有可能
  

ES6模块语法允许单个默认导出和任意数量的命名导出。实际上,您可以在同一模块中同时命名导出和默认导出。

我仍然不知道在named export内插入default export是否是一个好习惯。
无论如何,这解决了我目前的主要担忧。