Typeerror: this.checkPositions is not a function React

Typeerror: this.checkPositions is not a function React

所以我的 React 应用程序中有这段代码导致我的应用程序崩溃:

updateCenterElem() {
let elems = document.elementsFromPoint(winMidX, winMidY);
elems.forEach(elem => {
  if(elem.matches(imageSelector) && !lastCenteredElem.isSameNode(elem)) {
    lastCenteredElem = elem; 

    this.checkPositions(lastCenteredElem);
  }
});
}

然后我得到以下错误:typeerror: this.checkPositions is not a function。 我猜我在某个时候失去了这个 我已经尝试了很多事情,比如绑定 'this' 或声明一个像 self = this 这样的变量,但没有任何效果。

编辑它在这个函数中被调用:

createDraggable() {
 let options = {
trigger: ".mask",
dragResistance: 0.4,
resistance: 400,
onDrag: this.updateCenterElem,
}

if(useInertia) {
options.inertia = true;
options.onThrowUpdate = this.updateCenterElem;

if(useCenterGrid) {
  options.onThrowComplete = centerGrid;
}
} else if(useCenterGrid) { // No inertia
options.onDragEnd = centerGrid;
}

return Draggable.create(containerSelector, options);
}

顺便说下我在用gsap

您知道如何解决我的问题吗? 谢谢

你如何使用updateCenterElem?如果它是事件处理程序等,您的方法声明应如下所示:

updateCenterElem = () => {
let elems = document.elementsFromPoint(winMidX, winMidY);

或者你应该在设置处理程序时绑定上下文

...={this.updateCenterElem.bind(this)}