今天一个前端朋友在使用react遇到了一个问题,就是他在index.html中引入了一个外部的js文件,没有将它封装到react中,但是它想要调用这个js中的方法。 一开始他直接写的方法,但是提示undefined的,这是肯定的。因为作用域不同。 那么我们如何解决这个问题呢?其实也很简单。我们都知道javascript是有作用域的,我们将函数挂在到全局变量上就可以了。比如函数可以定义为全局函数。就可以使用了。 react 比如原来的函数为: function sayHello(){ alert("hello"); } 我们修改为: var sayHi = function sayHello(){ alert("hello"); } 这样我们在reactj中 componentDidMount() { window.sayHi(); } 就可以调用了,同理将变量声明为全局变量的话,也可以在react中调用。 其实解决这个问题的核心关键就是作用域的问题。明白了这一点,问题迎刃而解。