Uncaught TypeError при вызове функции drawImage

Бонжур!

Я пытаюсь использовать элемент canvas в ReactJS. Я получаю сообщение об ошибке при вызове drawImage (). Все работает, кроме drawImage ().. ?

Uncaught TypeError: не удалось выполнить "drawImage" на "CanvasRenderingContext2D": предоставленное значение не имеет типа " (HTMLImageElement или HTMLVideoElement или HTMLCanvasElement или ImageBitmap)"

var Canvas = React.createClass({
    componentDidUpdate: function() {
        console.log("componentDidUpdate");
    },

    componentDidMount: function() {
        var context = this.getDOMNode().getContext('2d');
        this.paint(context);
    },

    paint: function(context) {
        context.save();
        context.fillStyle = '#F00';
        context.fillRect(0, 0, 400, 400);
        context.drawImage("image.jpg", 0, 0);
        context.restore();
    },

    render: function(){
        return <canvas width={400} height={400} />;
    }
});

1 ответов


вы уверены, что изображения.jpg был загружен перед вызовом drawImage ()?

с w3schools:

Примечание: Вы не можете вызвать метод drawImage () до загрузки изображения. Чтобы убедиться, что изображение загружено, можно вызвать drawImage() из окна.события onload() или из документов.getElementById ("imageID").события onload.