Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

214
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!