Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jquery中调用react this.function_Javascript_Jquery_Reactjs_Function_This - Fatal编程技术网

Javascript 在jquery中调用react this.function

Javascript 在jquery中调用react this.function,javascript,jquery,reactjs,function,this,Javascript,Jquery,Reactjs,Function,This,我的组件上有一个Jquery函数,将在reactJS上挂载: $(document).ready(function(e) { this.myFunction(); } 和一个向下声明的箭头函数: myFunction = () => { alert("Jquery is ready!"); } 为什么我得到这个.myFunction()不是一个函数错误?您正在另一个函数中调用此,该函数未绑定到您的对象,因此更改了此的范围 你可以试试 a) 将函数设置为箭头函数: $(documen

我的组件上有一个Jquery函数,将在reactJS上挂载:

$(document).ready(function(e) {
 this.myFunction();
}
和一个向下声明的箭头函数:

myFunction = () => {
 alert("Jquery is ready!");
}

为什么我得到这个.myFunction()不是一个函数错误?

您正在另一个函数中调用此,该函数未绑定到您的对象,因此更改了此的范围

你可以试试

a) 将函数设置为箭头函数:

$(document).ready(() => this.myFunction());
b) 将外部
绑定到匿名函数中

$(document).ready(function(e) {
 this.myFunction();
}.bind(this));
c) 创建一个包含此

var self = this;
$(document).ready(function(e) {
 self.myFunction();
});

因为
不引用react组件。不太确定jQuey是否将其设置为
ready
。它是
文档
窗口
。我如何引用myFunction?您是否可以发布准确说明您面临问题的代码?如果
在该函数之外引用组件,您可以使用箭头函数,而不需要jQuery。。。。在
componentDidMount
FWIW中运行函数,函数是匿名的这一点无关紧要。命名函数也会发生同样的情况。你当然是绝对正确的!