意外默认导出匿名函数导入/无匿名默认导出



如何避免这种警告
它会发出如下警告。

Unexpected default export of anonymous function import/no-anonymous-default-exp 

这是发出警告的功能。

import { FETCH_USER } from '../actions/types';
export default function(state = null, action){
switch(action.type) {
case FETCH_USER:
return action.payload || false ;
default:
return state;
}
}

为了避免这种警告,现在我不再使用匿名函数。所以,试试这个。。。

export default function foo(state = null, action){
switch(action.type) {
case FETCH_USER:
return action.payload || false ;
default:
return state;
}
}

您收到错误是因为在这行代码中,您没有提供函数名:

export default function(state = null, action){

代码仍然可以工作,但是为了消除警告,请提供一个这样的函数名:

export default function functionName(state = null, action){
const authReducer=(state=null, action)=>{
switch(action.type){
case FETCH_USER:
return action.payload || false;
default:
return state;
}};
export default authReducer;

您使用的是哪种门楣?Linter通常不喜欢默认导出匿名函数。在esint中,您可以通过在文件顶部添加以下内容来禁用文件:
/* eslint-disable import/no-anonymous-default-export */

如果要在单行上禁用它,请在该行的顶部添加以下注释:
// eslint-disable-next-line import/no-anonymous-default-export

对于这种类型的语法没有约定。我的建议是,只需将所有导出放在文件的底部,就可以在自己的项目中至少有一个通用的结构。就像其他人说的那样,你可以通过以下操作来消除这个警告:

import { FETCH_USER } from '../actions/types';
const funcName = function(state = null, action){
switch(action.type) {
case FETCH_USER:
return action.payload || false ;
default:
return state;
}
}
export default funcName;

相关内容

  • 没有找到相关文章

最新更新