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