Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda