我使用.bind(这个),但它在导入的函数中一直未定义?Javascript反应
我有一个非常大的类,有很多处理程序,文档开始难以辨认,我想在我的类之外定义处理程序方法,并按类型在文档上分组(所有工具都有不同的处理程序,因此我捕获事件,并根据所选的工具将其重定向到正确的处理程序),然后导入这些方法/函数并从另一个方法调用它们,就像它们是普通方法一样 第一个日志正确地返回该值,但由于某些原因,即使我使用了handleSelectorMouseDown,来自内部的日志也会返回“undefined”。bind(this)尝试以下操作:我使用.bind(这个),但它在导入的函数中一直未定义?Javascript反应,javascript,reactjs,react-class-based-component,Javascript,Reactjs,React Class Based Component,我有一个非常大的类,有很多处理程序,文档开始难以辨认,我想在我的类之外定义处理程序方法,并按类型在文档上分组(所有工具都有不同的处理程序,因此我捕获事件,并根据所选的工具将其重定向到正确的处理程序),然后导入这些方法/函数并从另一个方法调用它们,就像它们是普通方法一样 第一个日志正确地返回该值,但由于某些原因,即使我使用了handleSelectorMouseDown,来自内部的日志也会返回“undefined”。bind(this)尝试以下操作: handleSelectorMouseDow
handleSelectorMouseDown.bind(此)(e)
这将首先将导入的函数绑定到正确的作用域,然后执行该函数
另一个选项是在类构造函数中绑定函数并在以后使用:
class MyComponent {
constrctor() {
this.handleSelectorMouseDown = handleSelectorMouseDown.bind(this);
}
}
现在您只需要调用
this.handleSelectorMouseDown(e)
如果您使用的bind
错误,您必须首先bind
然后call
,我将在类级别为绑定的处理程序创建一个引用:
constructor() {
this.onSelectorMouseDown = handleSelectorMouseDown.bind(this);
}
然后你可以随意称呼他们:
this.onSelectorMouseDown(e);
请不要显示代码的图片。在你的问题中包括实际的代码。你使用bind是错误的,你必须先
bind
然后call
,在你的情况下,场景是handleSelectorMouseDown.bind(这个)(e)
,虽然我不喜欢那种方法,但我会创建一个绑定的引用,比如const onSelectorMouseDown=handleSelectorMouseDown.bind(这)
相反,然后在SelectorMousedown(e)上调用
是否有任何方法可以使用箭头函数执行此操作?