在使用index.js进行导出时,如何解决Airbnb Eslint Import/peave-default-Expo



对于这样的情况, /ACollectionOfTinyComponent/index.js

import Container from './Container';
export {
  Container,
};

因此,index.js成为一个目录,不必始终将每个组件名称编写出来。因此,在这种情况下,我们可以在另一个组件中导入一个组件,如以下内容:

import {Container} from './ACollectionOfTinyComponent'
//then use Container in the code here

这是不良的做法吗?因为如果我有airbnb linter启用,那么我会得到

的错误覆盖

Prefer default export import/prefer-default-export

它要求我添加default,但这将导致编译错误

我发现,因为我仅添加了一个 import&index.js的导出。但是,如果我添加不止一个!例如,如果我做

import Container from './Container';
import Ezeewei from './Ezeewei';
export {
  Container,
  Ezeewei,
};

请注意,我添加了Ezeewei的另一种导入。

然后,覆盖规则将通过!

它要求我添加默认值,但这会导致编译错误

您必须使用错误的语法来导出默认值。

export { name1 as default, … };

https://developer.mozilla.org/en-us/docs/web/javascript/Reference/Refereny/Statement/Export#Syntax

import {Container} ...这是不良习惯吗?

是。如果您在组件中有一个入口点(例如A类),则应将其导出为默认值,而不是指定的导出。该语言的设计人员给了默认的导入和导出特殊的语法,以将其作为主要用例进行推广。

http://2ality.com/2014/09/es6-modules-final.html#default-exports-are-are-aveafored

最新更新