Я использую плагин под названием dropzone , который оставляет рендеринг изображения в значительной степени как пользователю.
, поэтому я сделал это
<Dropzone
onDrop={this.handleDropChange}}>
<p>
Try dropping some files here, or click to select files to upload.
</p>
</Dropzone>
@observable files = [];
@action
handleDropChange = (files) => {
files.forEach(file => {
this.loadFile(file);
});
}
@action
loadFile(file){
const reader = new FileReader();
reader.addEventListener('load',() => {
runInAction(() => {
this.files.push({file: file, preview: reader.result, uploaded: false})
window.URL.revokeObjectURL(reader.result);
});
},false);
// reader.readAsDataURL(file.fileObject);
}
<img src={this.props.preview} />
Проблема в том,хотя, когда я перетаскиваю, скажем, 500 изображений, им требуется некоторое время для рендеринга на экране.Я думаю, что с реактивом трудные времена, так как он по сути повторяет рендеринг 500 раз, так как каждая «загрузка считывателя файлов» приводит к тому, что новый элемент помещается в массив файлов.
Есть ли возможность пакетировать этот или первый?сделать всю загрузку потом заново сделать?