Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

124
Visualizações
Advertencia de ESLint: asigne una función de flecha a una variable antes de exportarla como módulo predeterminado

Cuando intento crear y exportar una función de flecha como esta:

 export default () => {};

Recibo esta advertencia de ESLint:

Asigne la función de flecha a una variable antes de exportar como módulo predeterminado

Por supuesto, puedo asignarlo a una variable y luego exportarlo. Pero, ¿por qué no puedo hacerlo de otra manera? ¿Qué tiene de malo exportar una función de flecha sin asignarla a algo?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

No es un error. Es una Advertencia. Así que PUEDES hacerlo. Sin embargo, no es una buena práctica.

Aquí está la cosa: cuando dices () => {} , estás declarando una función anónima sin nombre. Cuando dices var foo = function() {} estás declarando una función anónima y luego asignándola como valor a la variable foo .

Es una pequeña diferencia, pero es importante si le interesa escribir código que sea fácil de reutilizar y depurar.

Cuando nombra la función, su depurador puede etiquetarla correctamente en el panel de depuración, pero si declara una función anónima, solo verá la función anónima. Esto puede ser un dolor de cabeza durante la depuración, por lo que al hacer un poco de esfuerzo repetitivo cuando es fácil (cuando lo nombra) puede ahorrarse (o a otras personas que pueden leer/usar su código) un dolor de cabeza más adelante al depurar.

Si está seguro de que lo que hace es exportar funciones anónimas, los documentos de ESLint le indican cómo deshabilitar la notificación de error :

 "import/no-anonymous-default-export": ["error", { "allowArray": false, "allowArrowFunction": false, "allowAnonymousClass": false, "allowAnonymousFunction": false, "allowCallExpression": true, // The true value here is for backward compatibility "allowLiteral": false, "allowObject": false }]
about 4 years ago · Juan Pablo Isaza Relatório

0

esto resolverá el problema:

 const name = () => { }; export default name

Si lees documentos de eslint documentos de es-lint

Informa si la exportación predeterminada de un módulo no tiene nombre. Esto incluye varios tipos de tipos de datos sin nombre; literales, expresiones de objetos, matrices, funciones anónimas, funciones de flecha y declaraciones de clases anónimas.

Asegurarse de que se nombren las exportaciones predeterminadas ayuda a mejorar la grepabilidad del código base al alentar la reutilización del mismo identificador para la exportación predeterminada del módulo en su sitio de declaración y en sus sitios de importación.

grepability: grep es un comando para encontrar cosas, basado en patrones. grep-ability sería el uso de ciertas convenciones de programación que facilitan la búsqueda de información.

about 4 years ago · Juan Pablo Isaza Relatório

0

En lugar de: exportar por defecto () => {... };

Usa esto: función const = () => { ... }; función predeterminada de exportación;

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda