React 从另一个函数调用一个函数

React call a function from another function

设置简单的图片上传后,我尝试从一个函数调用另一个函数,但日志显示

Unhandled Rejection (TypeError): self.sendImage is not a function

这里是代码

  readFile(files) {
        var self = this;
    if (files && files[0]) {
      let formPayLoad = new FormData();
      formPayLoad.append("attachment_image", files[0]);
      self.sendImage(formPayLoad);
    }

  }

  sendImage(formPayLoad) {
    let auth_token = window.localStorage.getItem("auth_token");
    fetch("/posts", {
      headers: {
        Accept: "application/json",
        Access: auth_token
      },
      method: "POST",
      body: formPayLoad
    })
      .then(response => response.json())

  }

为了解决这个问题,我尝试将变量 this 更改为 self,但错误仍然存​​在。

那么,请问有人可以解释一下为什么会出现这个 Unhandles Rejecton 吗? 与class Es6?

相关

您可能需要在构造函数 ex 中绑定函数

this.sendImage = this.sendImage.bind(this);

或者你可以使用 ES6 并使用箭头函数来消除对箭头函数的需要

sendImage = (formPayLoad) => {
    let auth_token = window.localStorage.getItem("auth_token");
    fetch("/posts", {
      headers: {
        Accept: "application/json",
        Access: auth_token
      },
      method: "POST",
      body: formPayLoad
    })
      .then(response => response.json())

  }