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

220
Visualizações
Funciones no utilizadas no reconocidas en la ventana

Al trabajar en ReactJS, me encontré con un problema en el que el programa no reconoce las funciones importadas que no se utilizan y creo que no se agregan a la ventana.

En mi caso, estoy tratando de poder importar funciones de otros archivos y luego llamarlas por nombre de cadena.

Ex)

 import {myFunction} from '../otherFile'; functionNameString = 'myFunction' window[functionNameString]() //call function by it's string name //ERROR: window[functionNameString] is not a function

Sin cambiar mi sintaxis anterior, encontré dos formas de resolver esto:

  1. Agregue la función real al mismo archivo que la llamada window[functionNameString]()
  2. Asigne explícitamente la función a la ventana en la parte superior de mi archivo como window.myFunction = myFunction

Estoy tratando de evitar el primer caso para mantener este archivo más corto, pero tampoco entiendo por qué necesito hacer la asignación explícita de la función a la ventana como se muestra en el segundo caso (y por qué definir la función en el mismo archivo no necesita esto)

En general, mi pregunta es ¿cómo puedo evitar esta asignación explícita y hacer que estas funciones importadas se puedan llamar desde la importación (o en una sintaxis más corta)? Asignar así está bien para una función o dos, pero estoy pensando en importar 15 funciones de este otro archivo, lo que complica las cosas al trabajar de esta manera. ¡Gracias!

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Los módulos tienen su propio alcance, no están en el alcance global y las importaciones se crean como enlaces dentro del alcance del módulo, no globales. Ese es al menos la mitad del objetivo de los módulos: no volver a hacer que todo sea global.

En general, mi pregunta es ¿cómo puedo evitar esta asignación explícita y hacer que se puedan llamar estas funciones importadas?

Son llamables. myFunction() llamará a su función en su código de ejemplo. No hay razón alguna para que window esté involucrada.

Si necesita referirse a ellos por un nombre en una cadena por algún motivo, puede ponerlos en un objeto:

 const functions = { myFunction, // ... };

Entonces functions[functionNameString]() funcionarán.

about 4 years ago · Santiago Trujillo 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