我对 [...files]
的理解是它会创建对文件对象的引用,但是 state 怎么可能只保存引用呢?
handleChange = (e) => {
const { onChange } = this.props;
const files = this.getFileFromInput(e);
onChange && onChange(e);
this.setState(() => ({
files: [...files],
}));
}
最佳答案
当您将一个数组扩展到另一个数组时,它会返回一个新数组,并引用旧数组。以这种方式使用的传播语法旨在取代 Object.assign
。这适用于对象和数组。这些在功能上是等价的:
[...files]
Object.assign([], files)
关于javascript - React 的状态如何通过使用扩展运算符来保存文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48214019/