Javascript 如何从文件列表中删除特定文件?

Javascript 如何从文件列表中删除特定文件?,javascript,reactjs,Javascript,Reactjs,我的目标是从文件列表中删除特定文件,但当我要删除最后一个文件时,将删除该文件而不是所需的文件 代码如下: {this.state.myFiles.map(file => ( <p key={file.name}> {file.name} ({file.size} bytes) <button className={"material-icons delete"}

我的目标是从文件列表中删除特定文件,但当我要删除最后一个文件时,将删除该文件而不是所需的文件

代码如下:

 {this.state.myFiles.map(file => (
        <p key={file.name}>
          {file.name} ({file.size} bytes)
          <button
            className={"material-icons delete"}
            onClick={() => this.handleRemoveFile(file.name)}
          >
            Remove file
          </button>
        </p>))}

我无法删除特定文件,它正在从文件列表中删除最后一个文件,有人可以帮助我从文件列表中删除特定文件吗


谢谢!提前。

map提供了第二个参数,它是数组的索引

 {this.state.myFiles.map((file,index) => (
        <p key={file.name}>
          {file.name} ({file.size} bytes)
          <button
            className={"material-icons delete"}
            onClick={() => this.handleRemoveFile(index)}
          >
            Remove file
          </button>
        </p>))}

myFiles.indexOf(fileName)
不起作用,因为fileName是一个字符串,myFiles是一个对象数组。它将错误显示为未定义。我认为我们无法获得相应文件的id无需使用id,只需使用数组索引即可。筛选条件必须为索引!==fileIndexToRemoveStill我出错了什么错误。添加完整的错误消息或附加屏幕截图。
 {this.state.myFiles.map((file,index) => (
        <p key={file.name}>
          {file.name} ({file.size} bytes)
          <button
            className={"material-icons delete"}
            onClick={() => this.handleRemoveFile(index)}
          >
            Remove file
          </button>
        </p>))}
handleRemoveFile = (fileIndexToRemove) => {
   const updatedFiles = this.state.myFiles.filter((file, index) => index !== fileIndexToRemove)
   this.setState({ myFiles: updatedFiles  })
}