我有一個上傳串列,如果我將新資料上傳到串列中,串列中已有的舊資料將從串列中洗掉。但我想將所有資料一起列出。我該如何解決這個問題?
const [fileList, setFileList] = useState<AddedFile[]>([]);
const beginUpload = (file: File[]) => {
const addedFiles = file
?.filter((item) => item !== null)
.map((item): AddedFile => {
if (item === null) {
throw new Error('Item is null');
}
return {
title: item?.name || '',
fileName: item?.name || '',
};
});
setFileList([...addedFiles, ...fileList]);
file.forEach((item: File) => {
onUpload(item, {
title: item?.name || '',
fileName: item?.name || '',
}).catch((err) => {
console.error(err);
});
});
}
uj5u.com熱心網友回復:
更新setFileList([...addedFiles, ...fileList]);為:
setFileList(currentList => {
return [...addedFiles, ...currentList]
});
參考: https ://reactjs.org/docs/hooks-reference.html#usestate
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/505613.html
標籤:javascript 反应 反应钩子 下一个.js
