【发布时间】:2020-12-15 23:01:01
【问题描述】:
我声明反应状态如下
const [selectedFiles, setselectedFiles] = useState([]);
在下面的函数中使用它们
function handleAcceptedFiles(files) {
files.map((file) =>
Object.assign(file, {
preview: URL.createObjectURL(file),
formattedSize: file.size,
})
);
selectedFiles.length === 0 ? setselectedFiles(files) : setselectedFiles(oldFiles => [...oldFiles,...files])
}
此时我们如何才能只添加新文件并删除重复文件
setselectedFiles(oldFiles => [...oldFiles,...files])
【问题讨论】:
-
files是否包含oldFiles的元素,还是仅包含新元素? -
只是新元素
-
您还应该提供文件元素的示例
-
只是新元素那么为什么还要担心删除重复文件呢?
-
在新元素中可能是他选择了相同的文件然后它会添加重复的文件
标签: javascript arrays reactjs multidimensional-array use-state