Reactjs 函数 "is not a function"
Reactjs function "is not a function"
我正尝试像往常一样在提交时使用附加函数,但它显示它不是函数。
confirmSubmission = () => { // This doesn't work either: confirmSubmission() {
//doSomething();
}
onSubmission(survey, options) {
this.confirmSubmission(); // here it says Uncaught error: confirmSubmission is not a function
}
我使用的函数:
return (<MyCOmponent model={model} onComplete={this.onSubmission}/>);
如果 confirmSubmission
不存在,我在 onComplete
中的其他代码可以正常执行。
我有一个与另一个函数相似的代码,它在同一组件中工作得很好:
componentDidMount() {
this.loadData(); // This works
}
loadData() {
doSomething();
}
我很困惑为什么它不喜欢 confirmSubmission
调用。有什么想法吗?
您一定忘记了将 this
上下文绑定到 onSubmission
constructor(/*...*/) {
//..
this.onSubmission = this.onSubmission.bind(this)
}
或
return (<MyCOmponent model={model} onComplete={this.onSubmission.bind(this)}/>);
尝试更换
onSubmission(survey, options)
加上箭头函数,就是著名的“this”问题
我正尝试像往常一样在提交时使用附加函数,但它显示它不是函数。
confirmSubmission = () => { // This doesn't work either: confirmSubmission() {
//doSomething();
}
onSubmission(survey, options) {
this.confirmSubmission(); // here it says Uncaught error: confirmSubmission is not a function
}
我使用的函数:
return (<MyCOmponent model={model} onComplete={this.onSubmission}/>);
如果 confirmSubmission
不存在,我在 onComplete
中的其他代码可以正常执行。
我有一个与另一个函数相似的代码,它在同一组件中工作得很好:
componentDidMount() {
this.loadData(); // This works
}
loadData() {
doSomething();
}
我很困惑为什么它不喜欢 confirmSubmission
调用。有什么想法吗?
您一定忘记了将 this
上下文绑定到 onSubmission
constructor(/*...*/) {
//..
this.onSubmission = this.onSubmission.bind(this)
}
或
return (<MyCOmponent model={model} onComplete={this.onSubmission.bind(this)}/>);
尝试更换
onSubmission(survey, options)
加上箭头函数,就是著名的“this”问题