reactjs - Reactjs FileUpload:setState 抛出“不安全操作”错误
问题描述
我正在尝试使用 上传文件input[type="file"]
,然后将文件对象存储在我的状态变量中,该变量包含一个对象。如果我更新我的状态,它会抛出错误insecure operation
。
let {inventory} = this.state;
if(!Array.isArray(inventory['photos'])){
inventory['photos'] = [];
}
inventory['photos'][3 - e.target.id] = e.target.files[0];
console.log(inventory);
this.setState({inventory});
console.log(this.state.inventory);
因为我可以在我的控制台中检查,console.log(inventory)
被执行,它会在下一行抛出错误。
这可能是什么原因?
我浏览了这个 GitHub 问题https://github.com/facebook/react/issues/7553但即使他们对此一无所知。
解决方案
出现此警告的原因之一是您尝试将值设置为文件类型的输入字段。
如果你正在做类似的事情:
<input type="file" value={this.state.inventory} />
尽量避免将值设置为输入类型文件。
推荐阅读
- java - shared.loader 中的 Tomcat 环境变量触发警告
- makefile - make install 找不到 aclocal
- python-3.x - 分别在目录中的特定文件上运行代码(按文件名)
- bash - 使用 SSH 密钥登录在 Git Bash 上不起作用,但在 Windows 命令提示符中起作用
- javascript - 使用 Google 地球引擎将每日数据减少到每月
- java - 为什么 Dom4JDriver 在 xml 内容的开头附加换行符?
- memory-management - 内核内存与用户内存分配
- mongodb - 如何通过 MongoDB Compass 或 RoboMongo 等 UI 工具连接运行在 Kubernetes 集群上的 MongoDB?
- python - TensorFlow 环境未激活
- python-3.x - 如何拆分 json 有效负载并触发 POST 请求