【发布时间】:2022-01-23 13:25:53
【问题描述】:
在 ReactJS 中工作时,我遇到了一个问题,即“未使用”的导入函数无法被程序识别,并且我认为没有被添加到窗口中。
就我而言,我试图能够从其他文件导入函数,然后通过字符串名称调用它们。
例如)
import {myFunction} from '../otherFile';
functionNameString = 'myFunction'
window[functionNameString]() //call function by it's string name
//ERROR: window[functionNameString] is not a function
在不更改上述语法的情况下,我找到了两种解决方法:
- 将实际函数添加到与
window[functionNameString]()调用相同的文件中 - 明确地将函数分配给我文件顶部的窗口,例如
window.myFunction = myFunction
我试图避免第一种情况以使此文件更短,但也不明白为什么我需要将函数显式分配给窗口,如第二种情况所示(以及为什么定义函数在同一个文件中不需要这个)
总的来说,我的问题是如何避免这种显式分配并使这些导入的函数可以从导入中调用(或更短的语法)?像这样分配对于一个或两个函数来说很好,但我正在考虑从另一个文件中导入 15 个函数,这会使以这种方式工作的事情变得混乱。谢谢!
【问题讨论】:
-
导入的东西不继续
window
标签: javascript node.js reactjs function