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

时间:2017-06-29 09:59:42

标签: 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,
  counterValue,
});

export { incrementCounter };

我的问题是在ES6中导出这个常量函数的正确方法是什么?

3 个答案:

答案 0 :(得分:2)

最简单的更改是将public DbSet<InspectionsData.Models.Property> Properties { get; set; } // GET: api/Properties Authorize] [HttpGet] public async Task<IActionResult> GetProperty() { return Ok(_context.Properties); } 添加到as default。但是,要将您的功能导出为默认导出,请改为编写

export { incrementCounter };

import * as types from './types';

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

答案 1 :(得分:1)

在config.js

// Declaration of const 

const config = {
    name: 'test'
};

export default config

在另一个档案中

// Using const 

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

let name = config.name;

答案 2 :(得分:1)

import/prefer-default-export是一个值得怀疑的规则, 使用 default exports ,您将失去类型一致性,而您的 IDE 将无法再帮助您进行重构,检查和代码完成。

使用导入别名,您始终可以使用其他名称导入:import {incrementCounter as foo} from 'incrementCounter'

它可能显示为个人意见,但我强烈建议您保留named exports并修改.eslintrc

{
  "rules": {
    "import/prefer-default-export" : 0
  }
}

请参阅此讨论: https://github.com/airbnb/javascript/issues/1365