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

156
Vistas
Exportar una clase o una diferencia de instancia de objeto

Estoy confundido, o puedo decir que no tengo idea de cómo funciona realmente la exportación.

Tengo una aplicación React y tengo algunas rutas protegidas. Al iniciar sesión, creo una instancia de objeto de Client y la paso a los componentes secundarios a través de Contexto, y luego la consumo.

Recientemente vi un enfoque en el que el código de ejemplo exportaba una instancia de objeto desde un archivo directamente y simplemente la importaba en los archivos que querían consumir.

 /** My approach **/ export default Example /** The Object Instance approach **/ export default new Example()

¿Cuál es el ciclo de vida de la instancia del objeto? ¿Hay alguna desventaja con el segundo enfoque, porque parece mucho más fácil?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si exporta la clase, con

 export default Example

luego, los consumidores del módulo podrán instanciar sus propias instancias, y cada instancia podrá tener sus propios datos. Por ejemplo

 // 1.js import TheClass from './TheClass'; const tc1 = new TheClass(); tc1.foo = 'foo';
 // 2.js import TheClass from './TheClass'; const tc2 = new TheClass(); tc2.foo = 'bar';

Ambos módulos pueden continuar usando tc1 y tc2 de manera completamente independiente, ya que son instancias separadas.

Pero si el módulo original exporta una instancia en lugar de una clase, todos los consumidores del módulo se ven obligados a usar la misma instancia:

 // 1.js import theInstance from '...'; theInstance.foo = 'foo';
 // 2.js import theInstance from '...'; // might not be a good idea to do theInstance.foo = 'bar' here // because that will affect 1.js as well // and will affect any other modules that imported the instance

En resumen, exportar la clase es más reutilizable que exportar la instancia. A veces, la reutilización potencial es algo que un guionista considerará importante y, a veces, no lo es. (Y a veces, incluso si inicialmente no lo consideras útil, puedes encontrarte con una situación más adelante que te obligue a reconsiderar).

Y a veces desea asegurarse de que solo haya una instancia en un script, en cuyo caso

 export default new Example()

es una forma de lograrlo.

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