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

166
Visualizações
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 Respostas
Responde à pergunta

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 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