我学习JavaScript React。
我有这种状态:
state = { files: [] };
当我使用相同的prop两次调用此方法test
时,在第二次调用中应为false时始终为true:
someMethod() {
const { newFile } = this.props;
const { files } = this.state;
let test = files.every((file) => newFile.size !== file.size);
if (test) {
const newList = files.concat({ newFile });
this.setState({
files: newList,
});
}
}
在上面的代码中,newFile
看起来像这样;
{
source: "react:Dashboard",
id: "uppy-/object/object/1612029328210-2r-10-2t-image/jpeg-42985-1612029045180",
name: "[object Object]1612029328210",
extension: "",
meta: {
relativePath: null,
name: "[object Object]1612029328210",
type: "image/jpeg",
},
type: "image/jpeg",
data: {
},
progress: {
percentage: 0,
bytesUploaded: 0,
bytesTotal: 42985,
uploadComplete: false,
uploadStarted: null,
},
size: 42985,
isRemote: false,
remote: "",
preview: undefined,
}
如何newFile
不添加就可以检测出它是相同的?
为什么files.concat({ newFile })
呢 我认为您的意思是files.concat(newFile)
直接执行而不创建newFile
包含包含文件本身的字段的对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句