Конвертировать локальный img в base64 с помощью реакционных хуков - PullRequest
0 голосов
/ 28 апреля 2020

Я нахожусь в ловушках React, пытающихся использовать код в этом вопросе Вопрос Stackoverflow - но, как я думаю, кто-то указывает, существуют проблемы с реализацией этого в локальной среде.

У меня есть переменная, содержащая мой путь sr c:

import avatar from '../../Assets/Photos/avatar.png'

Затем я пытаюсь установить фотографию как состояние useState:

 const [ photo, setPhoto ] = useState(avatar)

Затем я использую useEffect, чтобы дождаться, пока загружена переменная:

useEffect(() => {
    if (photo) {
        console.log("PHOTO EXISTS!!!!!!!!!!!!!!", photo)
        console.log(convertImgToBase64())

    }
}, [photo])

И функция convertImgToBase64 практически идентична функции в вопросе, на который я ссылался:

    function convertImgToBase64()
{
    var canvas = document.createElement('CANVAS');
    let img = document.createElement('avatar');
    img.src = photo;
    img.onload = function()
    {
        canvas.height = img.height;
        canvas.width = img.width;
        var dataURL = canvas.toDataURL('image/png');

        canvas = null;
        return dataURL
    };
}

Это возвращает неопределенное значение - почему это так?

...