Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性';设置状态';未定义进度条的定义_Javascript_Reactjs - Fatal编程技术网

Javascript 无法读取属性';设置状态';未定义进度条的定义

Javascript 无法读取属性';设置状态';未定义进度条的定义,javascript,reactjs,Javascript,Reactjs,我想在我的代码中设置一个进度条: class imageUpload extends Component { constructor(props) { super(props); this.state = { image: null, url: '', progress: 0 } 我的状态有进步 upload = (image) => { ImageTools.resize(image, { widt

我想在我的代码中设置一个进度条:

class imageUpload extends Component {
  constructor(props) {
    super(props);
    this.state = {
      image: null,
      url: '',
      progress: 0
    }
我的状态有进步

upload = (image) => {
    ImageTools.resize(image, {
        width: 320, // maximum width
        height: 240 // maximum height
    }, function(blob, didItResize) {

        document.getElementById('preview').src = window.URL.createObjectURL(blob);

      const uploadTask = storage.ref(`images/${image.name}`).put(blob);
      uploadTask.on('state_changed', 
      (snapshot) => {
        // progrss function ....
        const progress = Math.round((snapshot.bytesTransferred / snapshot.totalBytes) * 100);
        this.setState({progress}); // Unhandled Rejection (TypeError): Cannot read property 'setState' of undefined
      }, 
当我选择一个图像并将其上载到服务器时,它将进入服务器,但我遇到以下错误:
未处理的拒绝(TypeError):无法读取未定义的属性“setState”

html


你知道为什么吗


谢谢

我想您需要将匿名函数
函数(blob,didItResize){}
转换为箭头函数
(blob,didItResize)=>{}
将函数表达式转换为箭头函数

function(blob, didItResize) {


要使
指向正确的上下文。

您需要使用箭头功能

(blob, didItResize) => { ... }
而不是

function (blob, didItResize) { ... }

谢谢你的回答!它起作用了!谢谢你的回答!:)谢谢你的回答!:)
(blob, didItResize) => { ... }
function (blob, didItResize) { ... }