Javascript 未捕获类型错误:无法读取属性';获取';未定义的
我正在做一个示例ReactJS应用程序,尝试通过RestAPI POST发送表单数据。下面给出了代码片段,但它不起作用 组件的render()如下所示。填写表单时,当用户单击“提交”按钮时,将调用“handleSubmit”Javascript 未捕获类型错误:无法读取属性';获取';未定义的,javascript,reactjs,rest,Javascript,Reactjs,Rest,我正在做一个示例ReactJS应用程序,尝试通过RestAPI POST发送表单数据。下面给出了代码片段,但它不起作用 组件的render()如下所示。填写表单时,当用户单击“提交”按钮时,将调用“handleSubmit” render() { return( <button label="Submit" onClick={this.handleSubmit}> Submit </button> } 为了清楚起见,我
render() {
return(
<button
label="Submit"
onClick={this.handleSubmit}>
Submit
</button>
}
为了清楚起见,我也在分享fetch的定义。AccessToken很好。它适用于其他组件
fetch(url, options) {
const accessToken = 'Bearer ' + auth.getAccessToken();
const headers = {
'Content-Type': 'application/json',
'Authorization' : accessToken
}
return fetch(url, {
headers,
...options
})
}
我错过了一些东西,我想不出来。请告知。未定义fetch的原因是
此
不是组件。如果将handleSubmit
函数定义更改为:
handleSubmit = () => {
那么你的代码应该可以工作了。请注意,这可能需要更改您的传输设置。或者,您可以在构造函数中绑定handleSubmit函数,以便它在构造函数中具有正确的
this
添加以下代码
this.handleSubmit = this.handleSubmit.bind(this);
另一件事是确保在这个实例中存在fetch函数。该获取在组件类中声明,或者如果从某个外部文件导入,则在构造函数中添加以下行
this.fetch = fetch.bind(this);
我的解释很好。继续读吧。
装订工艺的完整列表:
this.fetch = fetch.bind(this);