为什么我不能在 React 中调用这个函数?

泰勒休斯

我收到错误:'TypeError: this.createCanvas is not a function'。

我不明白为什么。我已经在构造函数中绑定了它。

import React, { Component } from 'react';

class ImageEditor extends Component {

constructor() {
    super();
    this.createCanvas = this.createCanvas.bind(this);
    this.getImageDimensions = this.getImageDimensions.bind(this);
}

componentDidMount() {
    const imageurl = "https://storage.googleapis.com/" + this.props.location.state.imageuri;
    this.getImageDimensions(imageurl);
}

getImageDimensions(url) {
    var img = new Image();

    img.onload = function() {
        this.createCanvas(this.width, this.height);
    }

    img.src = url;
}

createCanvas(width, height) {
    let mycanvas = document.createElement("canvas");
    mycanvas.width = width;
    mycanvas.height = height;
    mycanvas.id = "mycanvas";
    document.body.appendChild(mycanvas);
}

render() {
    return (
        <h1>{this.imageurl}</h1>
    )
}

}

导出默认图像编辑器;

托尔

img.onload也必须得到一个箭头函数,否则this就不是你想要的。您可以在此处阅读有关为什么会出现这种情况的更多信息

img.onload = () => {
    this.createCanvas(img.width, img.height);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能在React中更改输入值?

来自分类Dev

为什么我不能在React中使用axios从localhost:3000调用localhost localhost:5000

来自分类Dev

为什么我不能在React componentDidMount中获得DOMNode的样式(scrollHeight)?

来自分类Dev

为什么我不能在React类组件中创建变量?

来自分类Dev

为什么我不能在状态中存储对象数组:React JS

来自分类Dev

为什么我不能在React componentDidMount中获得DOMNode的样式(scrollHeight)?

来自分类Dev

为什么我不能在react.js的状态数组中推送值?

来自分类Dev

为什么我不能在 react-native 中读取变量

来自分类Dev

为什么我不能在 react 组件中独立于 .map 使用 .sort ?

来自分类Dev

为什么我不能在 react-native 中更改按钮的颜色

来自分类Dev

为什么我不能在 Python 中使用变量作为参数来调用这个函数?

来自分类Dev

为什么不能在React JSX <canvas>对象上调用getContext函数?

来自分类Dev

为什么我不能在 python 中读取这个子进程调用的输出?

来自分类Dev

为什么我不能在回调中调用useRef?

来自分类Dev

为什么我不能在react构造函数中访问默认道具,但可以在渲染器中访问呢?

来自分类Dev

为什么我不能在熊猫函数中应用shift?

来自分类Dev

为什么我的函数不能在 python 代码中执行?

来自分类Dev

为什么我不能在wxPython中销毁我的StaticText?

来自分类Dev

为什么我不能在 Flatlist 中显示我的项目?

来自分类Dev

为什么我不能在ENV上调用slice()?

来自分类Dev

为什么我不能在Option上调用flatMap [列表]

来自分类Dev

为什么我不能在settimeout / setinterval中多次调用带有参数的函数

来自分类Dev

为什么我不能在 php 的 try 块中定义函数之前调用它

来自分类Dev

为什么我不能在函数内部创建数组对象?

来自分类Dev

为什么我不能在函数中直接返回Void

来自分类Dev

为什么我不能在pow()函数中使用整数?

来自分类Dev

为什么我不能在列表中使用匿名函数?

来自分类Dev

为什么我的函数不能在.resize()上运行?

来自分类Dev

为什么我不能在Matlab中使用函数readframe

Related 相关文章

  1. 1

    为什么我不能在React中更改输入值?

  2. 2

    为什么我不能在React中使用axios从localhost:3000调用localhost localhost:5000

  3. 3

    为什么我不能在React componentDidMount中获得DOMNode的样式(scrollHeight)?

  4. 4

    为什么我不能在React类组件中创建变量?

  5. 5

    为什么我不能在状态中存储对象数组:React JS

  6. 6

    为什么我不能在React componentDidMount中获得DOMNode的样式(scrollHeight)?

  7. 7

    为什么我不能在react.js的状态数组中推送值?

  8. 8

    为什么我不能在 react-native 中读取变量

  9. 9

    为什么我不能在 react 组件中独立于 .map 使用 .sort ?

  10. 10

    为什么我不能在 react-native 中更改按钮的颜色

  11. 11

    为什么我不能在 Python 中使用变量作为参数来调用这个函数?

  12. 12

    为什么不能在React JSX <canvas>对象上调用getContext函数?

  13. 13

    为什么我不能在 python 中读取这个子进程调用的输出?

  14. 14

    为什么我不能在回调中调用useRef?

  15. 15

    为什么我不能在react构造函数中访问默认道具,但可以在渲染器中访问呢?

  16. 16

    为什么我不能在熊猫函数中应用shift?

  17. 17

    为什么我的函数不能在 python 代码中执行?

  18. 18

    为什么我不能在wxPython中销毁我的StaticText?

  19. 19

    为什么我不能在 Flatlist 中显示我的项目?

  20. 20

    为什么我不能在ENV上调用slice()?

  21. 21

    为什么我不能在Option上调用flatMap [列表]

  22. 22

    为什么我不能在settimeout / setinterval中多次调用带有参数的函数

  23. 23

    为什么我不能在 php 的 try 块中定义函数之前调用它

  24. 24

    为什么我不能在函数内部创建数组对象?

  25. 25

    为什么我不能在函数中直接返回Void

  26. 26

    为什么我不能在pow()函数中使用整数?

  27. 27

    为什么我不能在列表中使用匿名函数?

  28. 28

    为什么我的函数不能在.resize()上运行?

  29. 29

    为什么我不能在Matlab中使用函数readframe

热门标签

归档