您好,我在努力/理解我的React Project中的这种错误错误。
Prefer default export import/prefer-default-export
Helpers.js错误指向:
export function getItems() {
fetch('./data/data_arr.js')
.then(results => results.json())
.then(results => this.setState({ items: results }));
}
函数导入:
import { getItems } from '../helpers/helpers';
componentDidMount() {
getItems.call(this);
}
我尝试无济于事:
"rules": {
"import/prefer-default-export": off,
...
}
我需要在函数中添加“默认”吗? export default function getItems() {...}
谢谢
答案 0 :(得分:3)
要关闭此警告,您可以添加评论
/* eslint-disable import/prefer-default-export */
到导出getItems的文件的顶部。
请注意,Eslint只是在此处向您发出样式警告-如果将来打算从同一文件中导出更多功能,则代码没有“错误”。
也就是说,当您仅从文件中导出一点代码时,通常最好使用export default
。这样,将代码导入另一个文件时,它是一种更好的语法。
示例
如果您只想导出一位位代码,则可以使用export default
。使用export default function getItems() {...}
,您的导入看起来像
import getItems from '../myFile';
。使用export default
的优点是您可以随意使用任何名称导入文件。例如import somethingElse from '../myFile'
也可以正常工作。如果文件仅用于一个目的,则此语法更简洁明了。
但是,如果要从要导出getItems()
的文件中导出多个位的代码(或者将来可能要导出),则不能使用{{ 1}}。这意味着您必须使用导出时使用的名称进行导入。这样做的好处是,您可以从一个文件中导出然后导入多个代码位。例如export default
和export {getItems, getPeople, getPets}
答案 1 :(得分:2)
"rules": {
"import/prefer-default-export": "off",
...
}
off
一词必须加引号。
答案 2 :(得分:1)
"rules": {
"import/prefer-default-export": 0,
...
}
使用0导入/首选默认导出问题