javascript - ReactJS:在 JQuery 事件监听器函数中调用 'this'

标签 javascript jquery reactjs

我试图在 JQuery 事件回调中引用 this(即 ReactJS 组件):

var Component = React.createClass({
    func1: function(){
        $("#multi").multiselect({
            onChange: function(a, b){
                this.test();
            },
        });
    },
    test: function(){
         console.log("Calling a react component function");
    }
    ...
});

然而它说:

TypeError: this.test is not a function

如何在 JQuery 事件回调函数中引用 this

最佳答案

您需要将 onChange 回调绑定(bind)到上下文:

onChange: function(a, b) {
  this.test();
}.bind(this)

你也可以使用箭头函数:

onChange: (a, b) => {
  this.test()
}

关于javascript - ReactJS:在 JQuery 事件监听器函数中调用 'this',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35785820/

相关文章:

javascript - 什么是 JavaScript >>> 运算符以及如何使用它?

javascript - 如何在任意位置显示 Nirvana Tikku,径向菜单

javascript - 模态显示onclick jquery

javascript - 在搜索关键字上突出显示可折叠 DIV

reactjs - 如何在 react-quill 中使用 quill-better-table

javascript - Google Analytics 更新为跟踪 2 个 ID,但未按预期工作

javascript - 使用包含撇号的值进行 REST 调用

javascript - 如何在没有事件的情况下选择 DOM 之外的元素?

reactjs - 为条形图中的条形指定半径

reactjs - 如何使用 react 钩子(Hook)将数据从子组件传递到父组件