Asyn c с FileReader в реакции - PullRequest
       2

Asyn c с FileReader в реакции

0 голосов
/ 06 марта 2020

У меня проблема с fileReader для рендеринга изображения для загрузки.

Я не могу заставить base64 показать изображение, потому что я не знаю , как использовать asyn c, чтобы получить изображение перед возвратом .

Вы можете мне помочь? Ниже мой код.

<div className="previewsection-el">
  <ul>
    {acceptedFiles.map((file, index) => {
      var filetype = file.path.split(".")[1];
      switch (filetype) {
        case "jpg":
        case "png":
        case "jpeg":
          var readImg = "";
          let reader = new FileReader();
          reader.onload = next => {
            readImg = reader.result;
          };
          reader.readAsDataURL(file);
          //cannot return here.
          return (
            <li>
              <img src={readImg} />
            </li>
          );
        case "rar":
        case "zip":
          return (
            <li>
              <i className="file-archive" />
            </li>
          );
        default:
          return (
            <li>
              <i className="material-icons">insert_drive_file</i>
            </li>
          );
      }
    })}
  </ul>
</div>;
...