Javascript 未捕获类型错误:无法读取属性';获取';未定义的

Javascript 未捕获类型错误:无法读取属性';获取';未定义的,javascript,reactjs,rest,Javascript,Reactjs,Rest,我正在做一个示例ReactJS应用程序,尝试通过RestAPI POST发送表单数据。下面给出了代码片段,但它不起作用 组件的render()如下所示。填写表单时,当用户单击“提交”按钮时,将调用“handleSubmit” render() { return( <button label="Submit" onClick={this.handleSubmit}> Submit </button> } 为了清楚起见,我

我正在做一个示例ReactJS应用程序,尝试通过RestAPI POST发送表单数据。下面给出了代码片段,但它不起作用

组件的render()如下所示。填写表单时,当用户单击“提交”按钮时,将调用“handleSubmit”

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);