reactjs - “any”类型的参数不可分配给“never”类型的参数。ts(2345)
问题描述
const [files, setFiles] = useState([])
const handleChange = (event: any) => {
setFiles.push(event.target.files[0].name)
return (<div>
{files.map((file: any) => (
<p>Hello!</p>
))}
</div>)
}
单击按钮时,我试图将一个值推入我的状态,然后映射到我的状态以呈现 p 元素,但是我收到错误“'any' 类型的参数不可分配给'never' 类型的参数.ts(2345)" 当我尝试推入 setFiles 时。
解决方案
您还需要使用以下命令对文件状态进行类型转换any
:
const [files, setFiles] = useState([] as any)
另外,这行代码是错误的:
setFiles.push(event.target.files[0].name)
setFiles
是你知道的功能。
你应该使用:
setFiles(files.push(event.target.files[0].name))
但是反应状态是不可变的。因此,您可以使用扩展运算符,例如:
setFiles([...files, event.target.files[0].name])
推荐阅读
- javascript - 获取文件名并保存在var中
- mysql - 从具有最高修订 ID 值的表中获取行数据
- asp.net - .NET Core 2.1 中的更新迁移
- html - DIV css 背景图像不会在 IE 8 中显示
- xml - XPath 根据多个条件选择 XML 节点的值
- bash - 如果文件 ~/.bashrc 不存在,我如何在 Google Colab 上安装 Torch?
- c++ - 如何通过模板传递函数?
- python - PyCuda mem_alloc 初始化错误
- java - Java GUI,显示闪烁的字符串
- firefox - Firefox Page Inspector API 到 Max/msp