使用 JSZIP 和 useState 解压缩文件

Unzipping files using JSZIP and useState

提问人:JJacob 提问时间:11/12/2023 更新时间:11/12/2023 访问量:10

问:

为什么我的状态没有正确更新?

我的目标是将文件从存储在数据库中的 zip 文件加载到我的“Dropbox”克隆中。不幸的是,我只有最后一个zip文件要加载:

 zipContent.forEach((relativePath, zipEntry) => {
      zipEntry.async("blob").then((blob) => {
        const n = new File([blob], relativePath, { type: blob.type });
        updateFileList([...fileList, { id: nanoid(), file: n }]);
      });
    });

由于一些我不知道的原因,我只得到了最后一个zip文件来正确加载:(

JavaScript ReactJS 文件 异步 blob

评论

1赞 James 11/12/2023
尝试使用 updateFileList 的函数版本,即updateFileList(currentList => [...currentList, {id: nanoid(), file: n}])
0赞 JJacob 11/12/2023
@James 非常感谢。我完全忘记了这件事。它工作得很好!

答: 暂无答案