如何摆脱 React 中的警告 import/no-anonymous-default-export?

IT技术 javascript reactjs compilation
2021-05-11 08:44:54

我在控制台中收到警告:“在导出为module默认导入/无匿名默认导出之前将对象分配给变量。”

这是来自我的 .js 函数,它默认导出几个函数。我不知道如何摆脱,同时仍然能够默认导出几个函数并保持代码简单,如下所示。

function init() {}

function log(error) {
  console.error(error);
}

export default {
  init,
  log,
};
 

我可以将文件写为:

export default function init() {}

export function log(error) {
  console.error(error);
}

是否有我需要更改的设置,我可以做些什么?

2个回答

它告诉您在导出之前为要导出的对象指定一个名称,以使所使用的名称更有可能在整个代码库中保持一致。例如,更改为:

function init() {}

function log(error) {
  console.error(error);
}

const logger = {
  init,
  log,
};
export default logger;

(给它在上下文中最有意义的任何名称 -logger只是一个例子)

但是如果你要导出多个东西,使用命名导出会更有意义 IMO。另一种选择是:

export function init() {}

export function log(error) {
  console.error(error);
}

然后将它们导入为:

import { init, log } from './foo.js';

将您的数据放在变量中,然后作为默认值导出。

//例子

const data = [
  {
    id: 1,
    name: 'Bertie Yates',
    age: 29,
    image:
      'https://res.cloudinary.com/diqqf3eq2/image/upload/v1595959131/person-2_ipcjws.jpg',
  },

  {
    id: 3,
    name: 'Larry Little',
    age: 36,
    image:
      'https://res.cloudinary.com/diqqf3eq2/image/upload/v1586883423/person-4_t9nxjt.jpg',
  },
  {
    id: 4,
    name: 'Sean Walsh',
    age: 34,
    image:
      'https://res.cloudinary.com/diqqf3eq2/image/upload/v1586883417/person-3_ipa0mj.jpg',
  },
]
export default data