React native 导出ES6中声明为常量的函数

React native 导出ES6中声明为常量的函数,react-native,ecmascript-6,redux,react-redux,eslint,React Native,Ecmascript 6,Redux,React Redux,Eslint,我按照指南在我的react native应用程序中实现REDUX。我正在尝试执行操作,但我的eslint在第8行不断给出此错误- [eslint] Prefer default export. (import/prefer-default-export) 我的密码是- import * as types from './types'; const incrementCounter = counterValue => ({ type: types.INCREMENT_COUNTER,

我按照指南在我的
react native
应用程序中实现REDUX。我正在尝试执行操作,但我的
eslint
在第8行不断给出此错误-

[eslint] Prefer default export. (import/prefer-default-export)
我的密码是-

import * as types from './types';

const incrementCounter = counterValue => ({
  type: types.INCREMENT_COUNTER,
  counterValue,
});

export { incrementCounter };
我的问题是,在ES6中导出这个常量函数的正确方法是什么

// Declaration of const 

const config = {
    name: 'test'
};

export default config
在另一个文件中

// Using const 

import * as config from '../config';

let name = config.name;
在config.js中

// Declaration of const 

const config = {
    name: 'test'
};

export default config
在另一个文件中

// Using const 

import * as config from '../config';

let name = config.name;

最简单的更改是将
作为默认值添加到
导出{incrementCounter}。但是,要将函数导出为默认导出,您需要编写

import * as types from './types';

export default counterValue => ({
  type: types.INCREMENT_COUNTER,
  counterValue,
});


最简单的更改是将
作为默认值添加到
导出{incrementCounter}。但是,要将函数导出为默认导出,您需要编写

import * as types from './types';

export default counterValue => ({
  type: types.INCREMENT_COUNTER,
  counterValue,
});


导入/首选默认导出
是一条有问题的规则, 使用
默认导出
您将失去类型一致性,并且您的IDE将不再能够帮助您进行重构、检查和代码完成

您将始终能够使用导入别名以不同的名称导入:
import{incrementCounter as foo}from'incrementCounter'

这可能是个人意见,但我强烈建议您保留
命名导出
,并编辑您的
。eslintrc

{
“规则”:{
“导入/首选默认导出”:0
}
}
请参阅以下讨论:

导入/首选默认导出
是一条有问题的规则, 使用
默认导出
您将失去类型一致性,并且您的IDE将不再能够帮助您进行重构、检查和代码完成

您将始终能够使用导入别名以不同的名称导入:
import{incrementCounter as foo}from'incrementCounter'

这可能是个人意见,但我强烈建议您保留
命名导出
,并编辑您的
。eslintrc

{
“规则”:{
“导入/首选默认导出”:0
}
}
请参阅以下讨论:

Well
module.exports
不是真正的ES6方式。Well
module.exports
不是真正的ES6方式。您的语法很好。ESLint正在触发,因为根据您的规则,如果您的模块只有一个导出,那么它应该是默认的。根据这条规则,如果您有多个,您应该只导出{…}
。要遵守规则:
导出默认增量计数器
谢谢,成功了。:)你的语法很好。ESLint正在触发,因为根据您的规则,如果您的模块只有一个导出,那么它应该是默认的。根据这条规则,如果您有多个,您应该只导出{…}
。要遵守规则:
导出默认增量计数器
谢谢,成功了。:)你能解释一下第一段吗?对于IDE,为什么这与命名导出不同?因为引用不明确,请遵循github上的讨论。我阅读了讨论。我还阅读了作者的想法,并同意重构在文件中。有点像说避免
导入为
,因为它无法重构。每个文件都有自己的边缘情况,但是默认的导出规则只是使文件保持最小,以避免重构。无论如何,IMO:)重构属于
类型
,如果您使用
默认导出
,那么它将只保留在文件中,并且您将丢失一些功能。如果你不想绑定导入,那么你可以使用别名。你能解释一下第一段吗?对于IDE,为什么这与命名导出不同?因为引用不明确,请遵循github上的讨论。我阅读了讨论。我还阅读了作者的想法,并同意重构在文件中。有点像说避免
导入为
,因为它无法重构。每个文件都有自己的边缘情况,但是默认的导出规则只是使文件保持最小,以避免重构。无论如何,IMO:)重构属于
类型
,如果您使用
默认导出
,那么它将只保留在文件中,并且您将丢失一些功能。如果您不想绑定导入,那么可以使用别名。第一个还提供了一个错误
[eslint]解析错误:在
const
@KaranHudia处的意外标记
,您是对的,应该是
导出默认计数器值=>…
而不提供
const
。第一个还提供了一个错误
[eslint]解析错误:在
const
@KaranHudia处出现意外的令牌
,您是对的,这应该是
导出默认计数器值=>…
而不使用
const