super和覆盖父类函数的函数出现了一些小问题。
下面是我的问题的简化示例,有2个文件:
FileA.js
constructor () {
...
}
myFunction = () => {
...
}
FileB.js
class FileB extends FileA {
constructor () {
...
}
myFunction = () => {
if () {
// do something
} else {
super.myFunction()
}
}
render () {
return <button onClick={() => this.myFunction()}
}
}
首先,如果从FileB.js调用else条件,则会引发错误:
TypeError :(中间值)。myFunction不是函数
但是,如果我将FileB.js的myFunction
设为非箭头函数,则永远不会触发该函数,而是从FileA.js中触发该函数。
为什么会这样以及如何解决?