我正在使用 felepond npm 包来显示文件,我有一个功能,可以添加一个新文件
onupdatefiles={fileItems => {
fileItems.forEach((item, i) => {
console.log(item.file);
const file = {
name: item.file.name,
data: item.file,
extension: item.file.type
};
this.setState(prevState => ({
fileObjects: [...prevState.fileObjects, file]
}));
});
}}
这里的问题是每次向列表添加新条目时都会添加整个状态...
我想知道你能不能把它做成一个集合,但要弄清楚那会是一团糟
有没有一种方法可以确保状态中没有重复的条目?
最佳答案
您将在回调中获得所有文件,因此您可以仅使用在回调中获得的文件覆盖当前状态下的文件。
onupdatefiles={fileItems => {
const fileObjects = [];
fileItems.forEach((item, i) => {
fileObjects.push({
name: item.file.name,
data: item.file,
extension: item.file.type
});
});
this.setState({ fileObjects });
}}
关于javascript - 添加文件时状态中的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54681092/