React的状态如何通过使用扩展运算符来保存文件?

时间:2018-01-11 18:52:09

标签: javascript html reactjs file state

我对[...files]的理解是,它会创建对文件对象的引用,但是状态如何才能保存引用?

  handleChange = (e) => {
    const { onChange } = this.props;
    const files = this.getFileFromInput(e);

    onChange && onChange(e);

    this.setState(() => ({
      files: [...files],
    }));
  }

1 个答案:

答案 0 :(得分:1)

当您将数组扩展到另一个数组时,它会返回一个新数组,并引用旧数组。以这种方式使用的扩展语法旨在替换Object.assign。这适用于对象和数组。这些在功能上是等价的:

[...files]
Object.assign([], files)