Javascript 反应:匿名导出默认值与命名导出默认值

Javascript 反应:匿名导出默认值与命名导出默认值,javascript,reactjs,typescript,ecmascript-6,Javascript,Reactjs,Typescript,Ecmascript 6,在导出匿名React组件和命名组件时,是否存在任何性能影响、不期望的副作用或首选标准 匿名组件导出 import React from 'react'; export default ({ title }) => <div>{title}</div>; import React from 'react'; const MyComponent = ({ title }) => <div>{title}</div>; export

在导出匿名React组件和命名组件时,是否存在任何性能影响、不期望的副作用或首选标准

匿名组件导出

import React from 'react';

export default ({ title }) => <div>{title}</div>;
import React from 'react';

const MyComponent = ({ title }) => <div>{title}</div>;

export default MyComponent;
从“React”导入React;
导出默认值({title})=>{title};
命名组件导出

import React from 'react';

export default ({ title }) => <div>{title}</div>;
import React from 'react';

const MyComponent = ({ title }) => <div>{title}</div>;

export default MyComponent;
从“React”导入React;
常量MyComponent=({title})=>{title};
导出默认MyComponent;

由于默认导出实际上是在导入期间命名的,因此没有性能影响,即:
从“/MyComponent”导入MyFancyNamedComponent

只有在执行非默认导出时,才真正需要命名导出

只有在执行非默认导出时,才真正需要命名导出

我不同意上述观点


使用IntelliSense和/或TypeScript
导出默认值时,MyComponent
更可取,因为它告诉IntelliSense和TypeScript更多信息,并允许您使用IDE中的扩展自动导入模块。如果没有性能影响,则命名导出是更高级的语法。

没有性能影响,但是命名允许编辑器具有更好的可读性和功能性

这甚至不是命名导出,它只是存储在变量中的值的默认导出。