React.createElement

Объясните пожалуйста, почему Хук не выводит массив с созданными элементами? Или как предварительно показать картинки в браузере ? Прежде чем отправить на сервер.

  function onDropHandler(e) {

       e.preventDefault()
        let files =[...e.dataTransfer.files];
    let arrayImg=[];

      for (let i=0;i<files.length;i++) {
          console.log(i + '  ' + files[i])
          let reader = new FileReader();
          reader.readAsDataURL(files[i]);
          reader.onloadend = function () {
              arrayImg[i]=React.createElement('img',{src:reader.result},);
          }
          setImgList(React.createElement('div',{},arrayImg))
    console.log( arrayImg)
      }

}


return(<div>{imgList}</div>)

Ответы (1 шт):

Автор решения: Sergey Kapsamun

New fuleReader надо поместить в промис. Он оказывается асинхронный

→ Ссылка